论文部分内容阅读
阴影是非常重要的视觉特征。阴影给出了场景中有关光源位置的信息,突出了物体之间的空间关系。因此阴影渲染在计算机图形图像、数字多媒体等领域具有广泛的应用前景。理想点光源生成具有明显边界的硬阴影(Hard Shadow)。面光源生成具有模糊边界的模糊阴影(Soft Shadow)。本论文的一个工作是提出了一种实时渲染水体折射阴影的算法,弥补了传统硬阴影算法不能处理折射阴影的缺点。本论文另一个工作是提出了一种快速模糊阴影的算法,它适用于那些实时性要求较高的应用。水体会使光线产生折射,因此也无法使用常用的阴影生成算法例如阴影贴图和阴影体来直接产生水底阴影。本文提出了一种基于GPU的快速水底阴影生成算法。首先使用普通阴影算法产生水面阴影,将水面阴影的每个像素点看作射向水底的阴影点光源,然后根据简化的折射公式快速计算出阴影射线折射方向,最后利用近似公式估算出阴影折射线和水底地形的交点。该算法充分利用了GPU并行处理阴影折射像素的能力。实验结果表明,该算法能够在高帧速率(70~80fps)的情况下产生真实的视觉效果。同时,该算法能够容易地集成到现有的阴影渲染过程中,因此非常适用于三维游戏等实时性要求较高的应用。本论文还提出了一种快速模糊阴影渲染算法。由于多数模糊阴影渲染算法必需同时考虑面光源的几何形状和遮挡物体的几何形状来生成物理上正确的阴影。所以它们的计算量非常巨大,即使高档图形硬件上也只能得到交互速率,并不适合三维游戏等实时性要求较高的应用。所以本文就这个问题提出了一种快速模糊阴影渲染算法,它利用GPU的并行处理能力,通过对单张阴影贴图进行并行采样,在阴影边缘进行模糊来得到视觉上真实的阴影。虽然这种方法不是物理上正确的,但是实验结果表明它在实时渲染速度下(20fps),能够生成视觉上真实可信的阴影。所以它适用于那些实时性要求较高,但是不要求物理上准确的应用。