论文部分内容阅读
实时的阴影渲染是图形学领域中的一项关键技术,也是该领域的一个难点,目前为止,虽然有许多算法被提出,但是这些方法都有各自的局限性。尤其在电子游戏领域,由于对实时性有着极高的要求,实时阴影的渲染成为影响游戏运行效率的一个重要因素。因此,阴影的实时渲染方法的研究有着极大的理论和实践意义。典型的阴影算法有全局光照算法,阴影映射(Shadow Mapping)算法和阴影体(Shadow Volume)算法。其中以光线跟踪算法为代表的全局光照算法,渲染效果十分逼真,但是由于计算量巨大,难以进行实时的绘制。阴影体算法由于对场景的几何形状有着较多的限制,难以适应空间上几何复杂度高的场景的渲染。而阴影映射算法对场景中的几何复杂度没有任何限制,且渲染速度快,逐渐成为了该领域的研究热点。本文的研究重点是如何在计算机中快速得绘制出高质量的阴影效果。本文的主要研究内容如下:1)归纳并总结了阴影渲染技术的理论基础。从不同的角度对阴影渲染问题进行分类。对光的属性和光源的种类进行阐述,并给出在渲染问题中阴影的数学定义,以及总结了阴影渲染问题的难点。2)针对传统阴影映射算法只使用一种深度纹理进行计算,无法对动态物体和静态物体分开进行处理的缺点,本文提出了一种改进的阴影映射算法。该算法动态监测场景中所有物体的运动状态,使用两种类型的深度纹理(即动态深度纹理和静态深度纹理)对处于不同运动状态的物体分开进行处理,省略了原始算法中对静态物体的重复深度计算。本文设计了实验模拟出场景中物体运动状态不断变化的场景,并根据实验证明在大规模复杂场景下,该算法的渲染速度明显高于原始算法。3)提出一种基于预计算思想的实时阴影生成算法,结合球谐光照的思想,在渲染之前使用球谐函数对光源信息和场景信息分别进行预计算压缩,并在渲染过程中使用压缩信息对光照和阴影效果进行实时的还原。使用k-d tree这种数据结构对场景进行划分和管理,从而加速场景信息的预计算过程。使用对光源信息进行线性过滤的方法,得到光源可以动态变化的光照和阴影渲染效果。实验表明,该算法不仅拥有较快的渲染速度,还能够渲染出更加真实的环境光照和阴影效果。