在片元着色器中,我们会使用大量通过顶点着色器线性插值得到的变量,比如世界空间位置,世界空间法线方向,世界空间切线方向。我们知道线性插值是在屏幕空间进行的,但是变换到屏幕的投影变换并非线性变换,不禁要问,这样插值的结果是准确的吗?
空间位置
不妨假设一个三角面一条边AB,在世界空间坐标系下,AB上的一点C可以表示为:
我们假设M矩阵是世界空间到裁剪空间的变换矩阵VP,那么变换后有:
文章讨论了在图形渲染过程中,片元着色器如何处理通过顶点着色器得到的线性插值数据,如世界空间位置、法线和深度。尽管投影变换是非线性的,但位置和方向的线性插值在一定程度上是准确的,法线则需要在片元着色器中重新归一化。深度值由于投影变换的非线性,需要特殊处理。法线贴图可以补偿线性插值的误差。
在片元着色器中,我们会使用大量通过顶点着色器线性插值得到的变量,比如世界空间位置,世界空间法线方向,世界空间切线方向。我们知道线性插值是在屏幕空间进行的,但是变换到屏幕的投影变换并非线性变换,不禁要问,这样插值的结果是准确的吗?
不妨假设一个三角面一条边AB,在世界空间坐标系下,AB上的一点C可以表示为:
我们假设M矩阵是世界空间到裁剪空间的变换矩阵VP,那么变换后有:
1358
3062
4081

被折叠的 条评论
为什么被折叠?