Foundations of 3D Computer Graphics