凹凸贴图
凹凸贴图
凹凸贴图(bump 映射),也称为凸凹纹理映射或皱面贴图,是计算机图形学中的一项技术,用于在三维环境中通过纹理方法产生表面凹凸不平的视觉效果。它通过改变表面光照方程法线,而非表面的几何法线,来模拟凹凸不平的视觉特征,如褶皱、波浪等。凹凸贴图的实现方法主要有偏移向量凹凸纹理和改变高度场。此技术通过在渲染像素前加上从高度图中找到的扰动,使得结果表面更加丰富和细致,更接近物体在自然界中的真实模样。
简介
凹凸贴图是一种在3D场景中模拟粗糙表面的技术,它允许将带有深度变化的凹凸材质贴图赋予3D物体。通过光线渲染处理,物体表面会呈现出凹凸不平的感觉,而无需改变物体的几何结构或增加额外的点面。例如,将一张砾石贴图赋予一个平面,经过处理后,这个平面就会变成一片铺满碎石、高低不平的荒原。使用凹凸贴图产生的效果其光影方向角度不会改变,也不会产生物理上的起伏效果。
具体实现
BMEM技术
BMEM技术使用一张称为高度图(Height map)的灰度图来存储每一点的高度信息,然后由图形API直接处理。这种方法简化了凹凸贴图的实现过程。
法线贴图法
法线贴图是一种常用的凹凸贴图技术,它通过将高度图转换成法线图(Normal Map),其中RGB值分别代表该点的法线方向:Nx、Ny、Nz。这张法线图可以通过Direct3D的专门函数计算得到。在渲染时,将高度图的每个像素与光源向量进行点乘,得到表示每一点明暗系数的图。这样,模型在背光的凹处会有阴影,在面向光源的地方则更亮,从而使3D模型看起来具有真实的凹凸感。这些计算可以直接在渲染流水线中由硬件完成。
假凹凸贴图
三维计算机图形程序员有时使用计算量较小的假凹凸贴图来模拟凹凸贴图效果。这种方法使用纹素索引变化取代曲面法线变化,常用于二维凹凸贴图。例如,在GeForce 2类型的图形加速硬件中就采用了这项技术。全屏的二维假凹凸贴图可以通过简单快速的渲染循环实现,在二十世纪九十年代的示范影像中是一个常见的视觉效果。
与位移映射之间的差别
位移映射与凹凸贴图的区别在于,凹凸贴图只改变法线的方向,而不改变几何体本身,导致的结果是物体轮廓的人为改变,而物体本身的形状保持不变。凹凸贴图仅仅是视觉上的改变,类似于透视画法的效果;而位移映射则真正地改变了3D物体的几何形状,使其表面呈现出实际的凹凸不平。
参考资料
目录
概述
简介
具体实现
BMEM技术
法线贴图法
假凹凸贴图
与位移映射之间的差别
参考资料