一、基本概念
- 法线贴图:
又叫凹凸贴图,一种每个fragment使用各自的法线,替代一个面上所有fragment使用同一个法线的技术,如下图右边所示。分为局部空间和切线空间两种,网上常见的淡蓝色纹理为切线空间法线贴图。 - 视差贴图:
属于位移贴图(Displacement Mapping)技术的一种,它对根据储存在纹理中的几何信息对顶点进行位移或偏移。发展:普通视差->陡峭视差映射->视差遮蔽映射。
二、区别
- 目的
法线贴图是为了模拟凹凸表面的光照效果,视差贴图是为了模拟凹凸表面本身。 - 作用对象
法线贴图是根据高度贴图让法向量从z轴方向向其他方向轻微偏移,这样看起来便有了一种深度。
视差贴图是根据高度贴图及观察方向,修改纹理坐标使一个片段的表面看起来比实际的更高或者更低。 - 实现方式
法线贴图一般是在顶点着色器中,利用TBN矩阵的逆矩阵将其他光照向量转换到切线空间,再在片段着色器中进行光照处理。
视差贴图是在像素着色器中,根据从顶点着色器中得到的观察者位置和片段位置(两者都已由TBN矩阵的逆矩阵转换到切线空间),得到片段到观察者的方向向量以对片段(纹理坐标)进行位移。
三、联系
- 坐标空间
网上的这两种贴图基本上都是在切线空间中。 - 来源
两者均是根据高度贴图生成的 - 作用
一般情况下,在片段着色器中,会利用由视差贴图得到的经过位移的纹理坐标,同时结合由法线贴图得到的经过扰动的法向量,进行光照处理,以保证光照能和位移相匹配。
参考