论文部分内容阅读
真实感图形绘制是计算机图形学中的主要研究方向之一。其目标在于精确模拟现实生活中的光路传播与各种光照效果,强调对于场景的逼真刻画,因此在对图像质量要求较高的领域,如电影制作中得到了广泛的应用。真实感绘制不仅需要对场景中包括光源、物体几何、材质和空间介质在内的各种要素予以准确描述,还需要模拟光能在场景中传输的复杂过程,因此需要很高的计算代价,导致其长期被局限在离线应用中。近年来,随着图形硬件的飞速发展和用户需求的增加,真实感图形绘制算法逐渐开始被结合到包括游戏和虚拟现实系统在内的一些交互式和实时应用中。真实感图形绘制和核心是求解渲染方程。其求解过程中存在两个瓶颈问题,一是可见性问题,即确定场景中的两点之间是否可见。这个问题在动态场景中尤其突出,因为物体之间的相对关系是随时间变化的,无法使用预计算等手段加速。第二个瓶颈是计算渲染方程中的积分。按照渲染方程计算每个着色点的出射光需要计算在半球面上的一个积分,这个积分依赖于着色点的双向反射率函数和各方向的可见性以及入射光,因此相当复杂。本文将提出各种新的方法对渲染方程中的上述两个计算瓶颈进行加速。我们针对渲染方程在包括阴影、相互辉映和全频光照明在内的各种真实感效果的绘制中的不同形式,有针对性地提出不同的解决方法,并将这些绘制的效率提升到交互式甚至是实时级别。论文的主要贡献包括:·提出一种可以生成具有子像素级别精度阴影的实时绘制算法。阴影是真实感绘制中的一种重要的效果,同时也是一种最基本的可见性问题。绘制子像素级别精度的阴影需要进行大量可见性计算,计算规模与场景中的像素数量、三角面片数量以及采样率成正比。我们提出了一种基于小平面的近似方法、一种基于阴影轮廓图的方法和一种软件光栅化算法分别降低这三者的数量,减少不必要的阴影测试。我们的算法具有很高的并行性,可以完全在GPU上实现并达到实时帧率。·提出了一种计算动态场景中低频相互辉映效果的算法。渲染方程在绘制不同的真实感图形效果时具有不同的表达形式。我们首先推导出动态场景中低频相互辉映效果对应的渲染方程的形式,并提取出其中的不变量,即物体接收到的入射光能与它反射到周围空间中的光能之间的比例关系。这一不变量被预计算并存储到称为辐射传输场的数据结构中。在绘制时,渲染方程的计算就被简化为辐射传输场中存储的传输矩阵与入射光组成的向量间的乘法,因而可以以很小的代价实现相互辉映效果。同时,我们还引入分簇主元分析法压缩辐射传输场,并基于数据相关性提出了两种缓存机制进一步降低渲染方程的计算开销。·提出一种新的基于双项积分的渲染方程计算框架,并给出解析求解的方法。通过将可见性函数从积分项移到积分域中,我们将渲染方程转化为一个双重积,从而避免了三重积这一预计算辐射传递算法中常见的计算瓶颈。在用勒让德多项式对光源和BRDF的积进行局部逼近后,双重积的积分可以以解析的形式给出。同时,我们提出一种层次的边界抽取方法,以尽量小的误差重构可见性函数的边界。我们的方法可以以实时帧率绘制包含各种全频光照明效果的场景。我们还提出两种自适应的可见性采样方法以及一种并行的球面距离变换算法,将解析双重积方法扩展到动态场景中,同时依然保持交互式的帧率。