论文部分内容阅读
随着计算机图形学的发展,需要对复杂场景渲染出极具真实感图像的应用越发增多。这就要求不仅要考虑来自光源的直接光照,还需要考虑来自其它物体表面因反射、折射等产生的非直接光照。这样,阴影、透明等真实世界中存在的光学现象才能在图像中生动表现。
从不同的角度去考虑,非直接光照会有不同的计算方法。ERPT方法使用ER采样求解绘制方程,借助路径突变将图像的能量重新分布到整个图像平面。IR方法使用虚拟点光源模拟全局光照,通过合理设置虚拟点光源的数量,在图像质量和渲染速度之间获得权衡。Lightcuts方法自适应地为场景中的光源建立一棵光源树,通过遍历光源树并控制误差上界去近似场景光照。
上述方法并不存在质量和速度上的双重优势,如ERPT方法侧重于渲染质量,而IR方法和Lightcuts方法更倾向于渲染速度。并不存在这样一种普适的全局光照算法,在质量和速度方面都具有绝对的优势,但是对于某一类场景,可以寻找出兼顾质量和速度的特定算法。
本文深入探讨了全局光照算法重要的理论基础和最新进展,并在前述全局光照算法的基础上,针对一类具有复杂非直接光照的场景设计了Ercuts算法。本文的主要工作包括以下三个方面:
(1)提出了虚拟点光源模拟ER采样路径的思想。首先使用双向路径跟踪初始化场景,再根据ER采样在每个像素处产生长度相等的Markov链,这充分利用了双向路径之间的相关性,并将Markov链用虚拟点光源来模拟。
(2)引入了一种加速虚拟点光源光照计算的方法。算法为场景中的虚拟点光源建立光源树,通过遍历光源树并控制误差上界去计算场景光照,渲染时间与虚拟点光源数量呈次线性的增长关系。
(3)设计了一组场景渲染实验,验证Ercuts算法在具有复杂非直接光照场景中的效果,并与双向路径跟踪的效果进行对比。
实验表明,与传统的双向路径跟踪相比,Ercuts算法在具有复杂非直接光照的场景中有更好的表现。