Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4

目录

  • Monte Carlo Integration
  • 路径追踪
    • Motivation
    • 解渲染方程
      • 只考虑直接光照
      • 考虑间接光照
        • 指数爆炸问题
        • 递归无出口问题
      • 对光进行采样
      • 总结
  • Ray Tracing概念

Monte Carlo Integration

一种近似求积分的数值方法,可在无法确定函数的解析式时使用。

随机采样,根据概率密度函数(PDF)求出积分的近似值。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第1张图片

路径追踪

Motivation

Whitted-Style Ray Tracing:

  • 总在进行镜面反射/折射
  • 忽略了光线在漫反射表面的反射
  • 简化过度,最终效果是错误的

而渲染方程是正确的,需要找到一个解该方程的方法。以下不考虑物体本身发光的情况,因此本质上是解反射方程。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第2张图片

解渲染方程

只考虑直接光照

Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第3张图片 Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第4张图片

考虑间接光照

Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第5张图片

若要考虑间接光照,则应该递归计算:
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第6张图片

然而,这样的解法有两个问题。

指数爆炸问题

若每次随机采样N=100个方向,随者光线反射次数 m m m的增加,会产生指数爆炸,最终要计算 N m N^m Nm次光线
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第7张图片

只要当 N = 1 N=1 N=1时,才不会出现指数爆炸问题,因此每次随机选择一条光线。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第8张图片

但是这种情况会有很多噪声。解决方案:每个像素取多个不同的路径并平均。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第9张图片

伪代码:
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第10张图片

Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第11张图片

递归无出口问题

上面的shade函数递归没有出口,计算不会停止。如果指定特定数量的反射次数,则会损失部分能量。

使用俄罗斯轮盘赌(Russian Roulette, RR)来解决。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第12张图片

设定一个概率P,以P为概率发出光线并将返回的shading结果除以P,即 L o / P L_o/P Lo/P,以1-P为概率不发出光线,得到0。以这种方式可以计算出 L o L_o Lo

这样得到的结果是正确的。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第13张图片

对光进行采样

若这样随机采样,则可能无法采样到与光源的方向,这样就造成了采样的浪费。因此对光源进行采样可以避免浪费。

蒙特卡罗允许任何方式的采样,只要采用对应的x和p即可。
对光源进行均匀采样的话, p d f = 1 / A pdf=1/A pdf=1/A,但是渲染方程是在立体角上进行积分的。

因此需要将两者进行转换。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第14张图片

寻找 d ω dω dω d A dA dA的关系,如下:
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第15张图片

因此,可以将渲染方程写为
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第16张图片

总结

radiance由两个部分组成

  • 光源(直接光照,不需要使用RR)
  • 其他反射(不直接的,使用RR)
    Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第17张图片

最终,需要注意点与光源之间被物体遮挡的情况。
Games101 计算机图形学课程笔记:Lecture16 Ray Tracing 4_第18张图片

Ray Tracing概念

  • Previous: Ray tracing == Whitted-style ray tracing
  • Modern: The general solution of light transport, including
    • (Unidirectional & bidirectional) path tracing
    • Photon mapping
    • Metropolis light transport
    • VCM / UPBP…

你可能感兴趣的:(计算机图形学)