gluPerspective参数 - 它们意味着什么?(gluPerspective paramet

2019-09-03 11:30发布

我想知道的gluPerspective参数。

在所有的例子我看到fovy设置为围绕45-60degrees我试着将它设置为不同的价值观和目标刚好消失什么是它如何解释呢?

aspect值应始终比? 为什么一个改变呢?

zNear, zFar -再次平常值约为10和500+这是什么反映?

Answer 1:

4个参数的目的是为了定义一个视锥 ,如下所示:

其中没有锥台应的外面是显示在屏幕上(为了实现这一点,这些参数被用来计算一个4×4矩阵,其然后被用于每一个顶点转变成所谓的裁剪空间。还有,测试如果顶点是截头锥体的内部或不是微不足道的)

查看参数的领域是基本上在通过相机位置的平面以及屏幕&穿过摄像机的位置的另一平面的顶部和屏幕的底部之间的角度。 这个角度越大,越多,你可以看到世界的 - 但在同一时间,你可以看到的对象将变得更小。

观察其影响力,我建议编写一个简单的应用程序,你可以逐渐增加/通过按键减少FOV - 然后渲染某些领域或其他基本对象和看到的你改变它会发生什么。

纵横比是你的视口的纵横比。 (在图形之上,视口位于近裁剪面)由于能够随意定义它是有意义的,因为你的视口的纵横比可以变化。

所述zNear&zFar值分别定义照相机位置和所述近端和远端剪切平面之间的距离,。 没有什么是更接近摄像机比zNear或大于zFar更远将是可见的。 这两个值必须> 0,显然,zFar> zNear。 zFar最好应选择让你想渲染一切都是可见的,但使它比必要浪费深度缓冲prescision较大和可能导致闪烁效果,被称为Z-战斗。 同样地,设置zNear太靠近相机可能会造成同样的效果 - 事实上,有一个合理的zNear值比zFar更重要。 如果你想知道究竟为什么发生这种情况,你应该阅读一些深入的解释,像这一个或这一个



文章来源: gluPerspective parameters- what do they mean?