【图形渲染】透视投影矩阵推导与深度的非线性
参考链接:
http://www.songho.ca/opengl/gl_projectionmatrix.html
https://www.docin.com/p-1007337368.html
1. 3D问题2D化(XOZ、YOZ)
2. 相似三角形
3. 深度Z的非线性(与1/z成正比)
要想有正确的投影性质,需要使用一个非线性的深度方程,它是与 1/z 成正比的。它做的就是在z值很小的时候提供非常高的精度,而在z值很远的时候提供更少的精度。由于非线性方程与 1/z 成正比,在1.0和2.0之间的z值将会变换至1.0到0.5之间的深度值,这就是一个float提供给我们的一半精度了,这在z值很小的情况下提供了非常大的精度。在50.0和100.0之间的z值将会只占2%的float精度,这正是我们所需要的。
4. XY的CVV变换
5. 反推得投影矩阵