我理解平截头体查看系统背后的概念;它的形状像金字塔,随着物体靠近中心,它们会变小,直到最终被剪掉。但是,当在 OpenGL 中使用查看投影时(请注意:我不使用已弃用的功能),您可以像这样设置坐标系:
orthoExample(左、右、下、上、近、远);
这一切都很好,但是说到透视,事情变得有点奇怪。
透视示例(field_of_view_y,方面,近,远);
我该如何设置具有这样功能的坐标系?!?它不允许我指定左、右、下、上等。我知道透视只是平截头体投影的一种变体......
我理解平截头体查看系统背后的概念;它的形状像金字塔,随着物体靠近中心,它们会变小,直到最终被剪掉。但是,当在 OpenGL 中使用查看投影时(请注意:我不使用已弃用的功能),您可以像这样设置坐标系:
orthoExample(左、右、下、上、近、远);
这一切都很好,但是说到透视,事情变得有点奇怪。
透视示例(field_of_view_y,方面,近,远);
我该如何设置具有这样功能的坐标系?!?它不允许我指定左、右、下、上等。我知道透视只是平截头体投影的一种变体......
在这里找到的代码应该可以为您解决问题。
以 Z 轴为投影中心。tan(fov_y)*near 给你顶部(和负值,底部)。纵横比是宽度与高度的比率,因此将纵横比乘以顶部可以得到右,而负数是左。