我理解了截头观察系统背后的概念;它的形状像金字塔,当物体靠近中心时,它们会变小,直到它们最终被剪掉。但是,当使用OpenGL中的观察投影(抬头:我不使用已弃用的功能)时,您可以像这样设置坐标系:
orthoExample(left,right,bottom,top,near,far);
这一切都很好,但说到透视,事情变得有些奇怪。
perspectiveExample(field_of_view_y,aspect,near,far);
如何设置具有此功能的坐标系???它不允许我指定左,右,底,顶等。我知道透视只是一个截头投影的变体......
答案 0 :(得分:0)
找到的代码here应该为您解决问题。
Z轴被视为投影的中心。 tan(fov_y)* near给你顶部(和底部)。 aspect是宽度与高度的比率,因此将top与aspect相乘会给出正确的,而对于它则为负。