一. 简述:
凹凸贴图是用来更细致的表现物体表面情况如凹凸不平,褶皱,波浪等,这种表现并不改变物体表面结构数据(不改变定点位置信息)而是通过利用 光线 纹理 的明暗变化让眼睛误以为是表面的凹凸不平。实现凹凸贴图的方式有三种:
Bump Map(浮雕凹凸贴图), Normal Map(法线贴图), Parallax Map(视察贴图)。
二. Bump Map(浮雕凹凸贴图):
Bump Map是最早的凹凸贴图实现方式,其基本原理是用一张灰度图存储每个点的高度场信息,当没帧对物体绘制时,由该点的高度场信息对每个顶点的法线产生一个扰动,用扰动后的法线进行光照计算,使得不同位置定点的明暗度产生差异,使得物体看起来产生表面凹凸不平的错觉。
计算这个法线扰动的方法就是从Bump Map中取出(x,y)位置像素数据(Bump Map中的像素数据并非颜色数据而是存储的高度信息,该数据表示设置对应x y坐标diffuse贴图时顶点的高度场数据),通过以下计算可以得出该点的扰动向量:x_gradient = pixel(x-1, y) - pixel(x+1, y)