论文部分内容阅读
真实感图像的生成一直是计算机图形学的研究重点,阴影渲染在真实感图像生成技术中扮演着非常重要的角色。对于实时应用而言,我们不仅需要关注阴影的质量,阴影渲染算法的性能也显得极为重要。阴影映射算法渲染效率与场景复杂度无关,并且能够很好地兼容现代图形硬件,因此被广泛使用于动态实时应用中,但是阴影映射算法存在走样问题,并且典型的阴影映射算法只是用来生成点光源下的硬阴影。本文研究了典型的基于滤波的反走样阴影映射算法,该类算法通过对阴影图进行滤波达到反走样和绘制软阴影的目的。本文首先分析了该类算法的基本原理,以及其优缺点。这些算法都只是应用于单方向光源的场景。同心球全方向软阴影映射(Concentric Spherical Representation for Omnidirectional Soft Shadow,OSM)能够很好地处理全方向光源场景下的软阴影,但是该算法继承了卷积软阴影映射(Convolution Soft Shadow Maps,CSSM)的缺陷,需要较多的内存来保存多张卷积基函数,并且在特定情况下会发生光渗现象。本文通过结合矩量软阴影映射(Moment Soft Shadow Maps,MSSM),提出了全方向矩量软阴影映射算法,该算法仅仅只需要一张4通道立方体阴影图便能够快速地生成高质量全方向软阴影。在实验中,本文采用锥形纹理(Mipmap)技术和区域求和表(Summed Area Table,SAT)技术来对阴影图进行滤波。针对典型Mipmap技术带来的走样问题,本文通过对其进行多重采样进行改进,其效果最终能够和使用区域求和表进行滤波的算法效果相近,并且拥有更快的渲染速度。当使用百分比临近滤波软阴影映射(Percentage Closer Soft Shadows,PCSS)框架来进行反走样和软阴影生成时,需要一个比典型阴影映射更大的深度偏移来消除过阴影现象,而使用过大的深度偏移会导致接收体和遮挡体接触的地方出现光渗。针对该问题,本文提出了一种基于角度计算的百分比临近滤波软阴影映射,该算法能够杜绝因为滤波核的使用而造成的错误阴影率的计算,因此只需要一个较小的深度偏移来处理因深度图的精度问题而造成的自阴影现象。