我一直在环顾四周,似乎找不到我正在寻找的东西。我找到了“规范公式”,但是使用这些公式的最佳方法是什么?我是否必须缩小每个顶点? 或者,还有更好的方法?
一个公式真的可以帮助我,但我也在寻找关于相对于观察者位置的近和远 z 平面的解释
我一直在环顾四周,似乎找不到我正在寻找的东西。我找到了“规范公式”,但是使用这些公式的最佳方法是什么?我是否必须缩小每个顶点? 或者,还有更好的方法?
一个公式真的可以帮助我,但我也在寻找关于相对于观察者位置的近和远 z 平面的解释
这是一个推导正交项目矩阵的合理来源:
考虑几点:首先,在眼睛空间中,您的相机位于原点并直接向下看 z 轴。其次,您通常希望您的视野向左延伸和向右延伸一样远,并且在 z 轴上方同样远,如下所示。如果是这种情况,z 轴直接通过视图体积的中心,因此您有 r = –l 和 t = –b。换句话说,您可以完全忘记 r、l、t 和 b,只需根据宽度 w 和高度 h 以及其他剪切平面 f 和 n 来定义视图体积。如果你将这些替换到上面的正交投影矩阵中,你会得到这个相当简化的版本:
以上所有内容都为您提供了一个看起来像这样的矩阵(如果您希望生成的转换矩阵处理任意相机位置和方向,请酌情添加旋转和平移)。
(来源:codeguru.com)