【章节概览】
距离贴图(distance map)是一种在像素着色器中给对象添加小范围位移映射的技术。这章中详细介绍了使用距离函数的逐像素位移贴图(Per-Pixel Displacement Mapping with Distance Functions)技术。
【核心要点】
这章中提出了距离贴图(Distance Mapping)/距离函数(Distance Functions)的概念,是一种基于隐式曲面光线追踪的位移映射快速迭代技术(a fast iterative technique for displacement mapping based on ray tracing of implicit surfaces)。实际表明,距离函数中包含的信息,允许我们在光线远离表面时前进更大的距离,并保证不会跨得太远以至于在渲染的几何体上产生缝隙。实现的结果非常高效:会在很少的迭代次数内收敛。
传统的位移映射是“对于这片几何体,它最终映射到了图像中的哪个像素”,我们的算法是“对于图像中的这个像素,我们可以看到哪片几何体”。第一个问题利用了光栅化算法,第二个问题利用了光线跟踪算法。
常见的光线跟踪算法是以均匀的距离对高度图采样,测试视线是否与表面相交,但却存在下列问题:如果采样距离远大于一个纹素,就不能保证在样本之间没有错过一个交点。
本文算法预先计算好空间中任一点到该表面最近的距离,将结果存入3D图中,在进行光线追踪计算的时候,选择该点到表面最近的距离向量作为步长进行迭代,从而避免了均匀步长带来的问题,并且加速了收敛得到结果
最终,算法在保持实时性能的同时显着增加了场景的感知几何复杂度。
【关键词】
距离贴图(Distance Mapping)
距离函数(Distance Functions)
位移贴图(Displacement Mapping)