概览(Overview)
电脑显示屏是一个2D平面,为了能够在这个2D平面上显示OpenGL渲染的3D场景,我们必须将3D场景当作2D图像投影到这个2D平面(计算机屏幕)上.GL_PROJECTION...透视投影
在透视投影中,视锥体(观察空间)中的一个3D坐标点会被映射到一个立方体中(NDC);其中 xxx 坐标范围会从 [l,r][l, r][l,r] 映射到 [−1,1][-1, 1][−1,1]...+Z 轴(译注:NDC变换会改变左右手坐标系).由于 glFrustum() 函数只接受正的近/远裁剪面距离,所以我们需要在构造 GL_PROJECTION 矩阵的过程中将近/远裁剪面距离变成负数(译注...在 OpenGL 中,观察空间中3D坐标点是投影到近裁剪面(即投影面)上的.下面的示意图展示了一个在观察空间中的坐标点 (xe,ye,ze)(x_e, y_e, z_e)(xe,ye,ze),是如何投影到近裁剪面坐标点...正交投影
为正交投影构建一个 GL_PROJECTION 矩阵比上面说的透视投影要简单多了.
?