创建坐标系
1 正投影
我们通常在2D绘图中使用正投影,并在我们的几何图形中将z坐标设为0.0。但是,z轴可以延伸到任何我们想要的长度。我们可以定义一个视景体,这个视景体将包括所有的几何图形。如果我们指定了视景体之外的几何图形,那么它就会被裁剪掉,也就是说,它将被沿着视景体的边界进行剪切。
在正投影中,所有在这个空间范围内的所有东西都会被显示在屏幕上,而不存在照相机或视点坐标系的概念。我们通过GLFrustum方法来完成上述工作。
GLFrustum::SetOrthographic(GLfloat xMin, GLfloat xMax, GLfloat yMin, GLfloat yMax, GLfloat zMin, GLfloat zMax);
2 透视投影
GLFrustum类通过调用一个SetPerspective方法为我们构建一个平截头体。
GLFrustum::SetPerspective(float fFov, float fAspect, float fNear, float fFar);
其中的参数分别在垂直方向向上的视场角度,窗口的宽度与高度的纵横比,以及到近裁剪面和远裁剪面之间的距离。我们用宽度除以高度就能得到窗口或视口的纵横比。