我们提供了从辐射度方程进行即时渲染的基本步骤。直接在纹理化场景描述上操作,非常高效且简单的算法可以生成照片级真实图像,而无需任何有限元核心或对基础积分方程进行离散化处理。通过利用图形硬件,利用用于解决全局光照问题的准随机游走确定性技术以及抖动低差异采样的新方法获得仅需数秒钟的渲染速率。
分类和学科描述:
I.3.3 [计算机图形学]:图片/图像生成 - 抗锯齿| 位图和帧缓冲操作| 显示算法| 查看算法;
I.3.7 [计算机图形学]:三维图形和现实 - 动画|颜色,阴影,阴影和纹理|光能传递
关键词:辐射方程,辐射率,阴影,蒙特卡罗积分,准蒙特卡罗积分,准随机游走,抖动低差异采样,硬件,累积缓冲区,实时渲染算法,照片写实。
1 介绍
提供一个写实场景描述,这个场景由辐射度积分方程[Kaj86]渲染而产生写实图像。在漫反射的前提下,得到弗雷德霍姆积分方程近似解的最常用方法是辐射度算法。 在经典算法[CW93]中,辐射度积分方程的核心是通过投影到某些有限基上,得到为场景元素数量的二次方的形状因子矩阵。 对于它的稀疏表示,已经引入了具有阶梯型基函数的阶梯型方法。 尽管如此,这些Galerkin算法需要存储积分方程的内核和离散解。除了用于高度复杂精确网格生成的阴影表示[LTG92]外,这样的投影还引入了离散化误差。
在蒙特卡罗仿真领域中,不需要内核离散化的算法也是可行的,使用仅需要把解投影到有限基上的随机积分方案。与随机渐进法相似,在[Kerl96b]中,渐进性粒子仿真方案基于导入低差异采样。
这个渐进性方案在略微优越的速率下平滑收敛,而且与随机算法相比没有变化。在双向路径追踪算法[LW93, VG94]中,尽管辐射度方程解的离散情况已经被避免,但其渲染时间远没有实时性。
另外一个方面,图形学硬件能够实时通过扩展光源[HA 90, Hei 91, SKvW 92]照亮和遮蔽贴图场景。在我们新方法中,我们将光线确定性粒子仿真(即准随机游走原理)的优点与可用硬件功能结合,始终由辐射度方程进行渲染,既不使用核心也不使用积分方程解的中间解的投影,导致过程非常快速,健壮和直接。
在介绍之后,论文的第二节中,我们简要的阐述全局光照问题的数学模型。第三节解释新的渲染过程及的准蒙特卡罗积分、准随机游走原理的基本技术。第四节,我们支持基本算法的一些扩展,包括基于抖动低差异采样的抗锯齿,镜面反射以及实时应用程序的改进,第五节讨论了该算法。最后一节得出结论,并指出未来研究的方向。
2 全局光照
我们的眼睛能感受到来自每单位角每单位面积功率的辐射。在真空中,辐射度$L$满足辐射方程[Kaj86]:
$$L(y,\vec{w}_{r})=L_{e}(y,\vec{w}_{r})+\int_{\Omega}f_{r}(\vec{w}_{i},y, \vec{w}_{r})L(h(y,\vec{w}_{i}),-\vec{w}_{i})cos\theta_{i}dw_{i}\qquad$$
其中$\Omega$是单位半球上垂直于$y$点表面的所有方向$\vec{w}=(\Omega,\phi)$的集合。$S$是作为边界表示而建模的场景表面。$h$函数返回当从$y$点出发向$\vec{\omega}_{i}$方向发射一条射线击中的第一个点。术语$cos\theta_{i}$表示将入射光线垂直投射到表面,$\theta_{i}$是$y$表面法线与入射光线$\vec{\omega}_{i}$之间的夹角。点$y$朝$\vec{w}_{r}$的辐射度$L$就是源辐射度$L_{e}$与反射辐射度之和。我们可以使用符号简写为:
$$ L=L_{e}+T_{f_{r}}L $$
双向反射分布函数$f_{r}$考虑了颜色和光泽度等表面特性。在一般设置中,这个函数取决于辐射的入射方向$\vec{w_{i}}$和反射方向$\vec{w_{r}}$以及基准点$y$。在辐射度设置中,$f_{r}=f_{d}(y):=\frac{\rho_{d}(y)}{\pi}$仅限于漫反射,然后辐射也会变得各向同性:
$$L(y)=L_{\omega}(y)+\frac{\rho_{d}(y)}{\pi}\int_{\Omega}L(h(y,\vec{\omega}_{i})) cos\theta_{i}d\omega_{i}\qquad $$
$\rho_{d}(y)$是漫反射贴图的反射性。
给定一个四元组,全局光照问题由以下计算函数得到:
$$<L,\Psi>:=\int_{S}\int_{\Omega}L(y,\vec{\omega})\Psi(y,\vec{\omega})cos\theta d\omega dy$$
与辐射度设置相关,也与全辐射等式相关。检测器功能有多种选择,例如,在经典或分层辐射度方法[CW93]中使用的有限向量空间的正交基向量之和。我们不离散化积分方程的解,而是必须将其渲染到一个单独的通道中,我们直接选择下面这个方程来检测穿过焦点针孔摄像机看到的图像矩阵的像素点$P_{mn}$的平均辐射。
$$\Psi_{mn}(y,\vec{\omega}):=\frac{\delta(\vec{\omega}-\vec{\omega}_{y_{f}})}{cos\theta}\frac{1}{|P_{mn}|}\chi_{P_{mn}}(h(y,\vec{\omega}))$$
$y_{f}\cdot\vec{\omega}_{y_{f}}:=P-y_{f}$是在$P_{mn}$穿过$y_{f}$情况下点$P$的方向。$\chi_{P_{mn}}$是像素对应的特征函数,$\delta$则是克罗内克函数。