论文部分内容阅读
阴影生成是实时绘制领域中的难点和热点问题之一。高质量的阴影不仅可以增强所绘制场景的真实性,而且有助于用户判断场景内物体间的相对位置关系和物体的几何形状。现实世界中光源具有一定的面积和形状,点光源产生的硬阴影并不实际存在,在各种图形应用中,如影视制作、三维游戏、虚拟现实等,更接近真实的软影效果受到人们的广泛关注。近年来,随着图形硬件(GraphicsProcessingUnit,简称GPU)的快速发展,各种高效的软影绘制算法陆续提出。但是,由于软影绘制中可见性因子计算的复杂性,如何实时绘制接近物理真实的软影是实时绘制领域中非常具有挑战性的课题。本文围绕易于GPU实现且效率与场景几何复杂度无关的阴影图算法,以实时绘制高质量光滑软影为目的,深入分析了百分比邻近滤波软影算法、软阴影图算法、预滤波阴影图算法和多视点阴影图算法等主流软影绘制算法,从软影的真实感、绘制效率两个角度出发,提出了一系列新颖的软影绘制算法。具体如下: 1.为了高效绘制大规模复杂场景的软影,提出了一种预估计分辨率的虚拟软影图算法。该算法通过用户测试建立一个软影图分辨率预测模型,进而使用场景所需的最低分辨率来绘制软影,在保持实时或交互绘制效率的前提下,避免了阴影图算法的离散走样问题。同时,该算法采用的高质量阴影滤波方法能够同时保证大面积半影的光滑过渡以及高频尖锐变化区域的各向异性反走样效果。 2.提出了指数软影图算法,把指数阴影图理论全面扩展至百分比邻近滤波软影框架。通过使用自适应椭圆滤波核逼近算法,可以在区域求和表上进行各向异性反走样。算法中提出了区域求和表栅格数据结构,可避免数值溢出并将数值精度控制在指定范围内,解决了阴影滤波时因数值稳定性而产生噪声的问题;而且,由于它的建造效率不受分辨率影响,使得该算法可以使用高分辨率阴影图实时绘制大规模场景,扩展了预滤波软影算法的应用范围。 3.提出了一种基于掩码的多层阴影图遮挡物轮廓边背投软影算法,解决了由于轮廓边背投软影图算法中可见性因子计算误差导致的过阴影和光渗等绘制瑕疵的问题。该算法通过计算光源掩码的深度复杂函数获得更准确的可见性因子,解决了轮廓边背投算法中存在的过阴影问题;将光源掩码计算与多层阴影图算法结合解决了光渗问题,最终生成更高质量的光滑软影。 4.在多视点阴影图框架下,提出了一个基于快速百分比邻近滤波的高质量软影算法,可以实时产生接近物理真实的软影效果。通过多尺度阴影图数据结构精简搜索区域,提升了遮挡物深度估计的正确性;使用基于GPU的线性四叉树遍历算法快速计算遮挡物平均深度,大量节省了纹理采样开销;最后采用光滑阴影滤波算法,将像素间阴影滤波核的细微变化反映到可见性计算当中。 5.在多视点阴影图框架下,提出了一种图像后处理的实时软影绘制算法。通过阴影遮挡函数的傅里叶分析和与坐标轴对齐的像素光源场滤波核理论,计算得到一个屏幕空间自适应高斯滤波核,将邻近像素之间遮挡物信息的连贯性反映到图像空间高斯滤波中,大量减少了光源采样点的数量。这种方法避免了其它软影算法中的各种近似假设,当光源采样点增加时,可收敛至精确的物理真实软影。 上述研究有效地提升了软影绘制算法的效率和质量,降低了算法对绘制场景和硬件环境的要求,丰富了软影实时绘制的理论和方法,为高质量软影的广泛应用提供了坚实的基础。