欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

辐射度方法

最编程 2024-07-03 15:49:49
...

到目前为止,我们所介绍的三种全局光照技术(即路径追踪,光子映射和梅特波利斯光照传输)都是基于蒙特卡洛方法的算法,他们都是通过对某种概率密度函数进行采样,然后将采样得到的样本直接带入到像素贡献函数中计算该样本的贡献值,最后计算所有样本的平均值。不同的是它们三者都使用不同的概率密度函数,例如路径追踪使用路径各个顶点的BSDF分布函数的乘机作为概率密度函数,光子映射在此基础上引入了一个概率密度估计函数用来处理两个相邻顶点的融合,而梅特波利斯光照传输则通过梅特波利斯算法直接对原始像素贡献函数进行采样。

虽然他们使用不同的概率密度函数,但是其估计的一致性保证了样本数量趋于无限的情况下能够收敛到真实值,因此这些算法能够模拟光照传输中的各种路径组合,这些方法也被认为是渲染领域里最能产生高质量图像结果的渲染算法。然而与之相随的是蒙特卡洛方法存在严重的噪点,这需要通过大量的样本才能达到人眼可接受的状态,因此这些渲染算法的时间成本都非常高。

从本章开始,本数的内容将逐步由离线过度到实时渲染,这体现在时间成本作为一个越来越重要的考量因素。
与之相应的是我们不得不牺牲渲染结果图像的精确性,以换取计算时间上的效率。
因此从本章开始,我们将要介绍的所有方法都可以归类为近似方法,这些方法可能忽略某些计算成本较高的
因素,或者使用一些近似模型来提高计算的效率等,达到实时渲染的目标。

由此,对于后面的这些近似方法,我们还必须了解这些方法使用了怎样的近似模型,例如它们
忽略了哪些因素,以及对算法的哪一部分进行了近似,因为这些近似或忽略的部分往往是
算法被限制的地方,因此也是其变种算法中需要优化改进的地方,由此也不难理解这些方法会处于快速的
迭代更新中,但是我们将集中精力于探索其中的核心思路,即那些不变的部分。

首先,我们从辐射度方法开始。