这根本上是因为在渲染管线中, 我们先进行了对顶点的透视投影后才在光栅化和片元着色器中对顶点进行着色, 也就是说在着色的时候目标顶点已经在屏幕空间(标准视体)中了....切线空间使得我们应用法线时要通过法线图的法线来叠加改变当前要渲染的物体表面的法线, 计算光照着色....在过去的时候扰动法线是需要着色器动态对凹凸图进行求导得到法线的, 现在通常直接保存法线图来使用更为方便.
下图是应用了刚才提到的三种技术综合起来对地板的渲染效果....我们知道凹凸图中保存了物体的深度信息,置换贴图就首先对模型进行了曲面细分, 然后在纹理查找的时候, 凹凸图动态改变目标表面的顶点位置, 让顶点按照法线方向进行深度改变, 这个过程由于是在着色的时候才进行所以相对来说不会消耗太大的性能...如下图中我们看到尽管像素中心对准的区域可以正确计算出深度值dmap, 但是像素所覆盖的一部分区域经过投影变换后得到的深度值d却常常无法和dmap完全匹配, 这会导致同样被光照到的区域一部分被识别为阴影一部分被识别为照明