0
点赞
收藏
分享

微信扫一扫

计算机图形学之GAMES101课程蒙特卡洛积分和路径追踪

佳简诚锄 2022-03-13 阅读 39

计算机图形学之GAMES101课程蒙特卡洛积分和路径追踪

计算机图形学之GAMES101课程蒙特卡洛积分和路径追踪


上一节课

辐射度量学

intencity
Irradiance
radiance

光的传播

BRDF
反射方程
渲染方程

概率论


一、概率论(Probability)

概率密度函数(PDF)

在这里插入图片描述

二、蒙特卡洛积分(Monte Carlo Integration)

理解:在这里插入图片描述

计算[a,b]内的定积分就是求曲线 f(x)、直线 x=a,x=b以及x轴围成的形状的面积,因此,如果我们在曲线上随机地选取N个点,计算如图所示的粉红色长方形面积之和,再求个平均,其实就得到了定积分的近似值。点的数量取得越多,这个平均值就越逼近定积分的真实值。

整个过程用数据公式来表达的话就是: S = 1 / 4 *(f(x1)(b-a) + f(x2)(b-a) + f(x3)(b-a) + f(x4)(b-a)) = 1 / 4(b-a)(f(x1)+f(x2)+f(x3)+f(x4)) =
在这里插入图片描述
所以,蒙特卡洛积分为:
在这里插入图片描述

p(Xi)解释

在这里插入图片描述

对于更一般的情况4次变成N次,乘以(b-a)可以看做除以 1 / (b-a)。 而前面讲过了随随机在曲线上采样因此随机到每个点的概率都是1 / (b-a),扩展到更一般的随机情况则有 1 / pdf(x)。 pdf(x)函数为x采用的概率密度函数。因此可以推导出更具有一般性的公式也就是蒙特卡洛积分法:
在这里插入图片描述

三、路径追踪(Path Tracing)

1.动机

Whitted-Style Ray Tracing的问题:
Always perform specular reflections / refractions
Stop bouncing at diffuse surfaces

问题一:Whitted-Style Ray Tracing 在处理光照反射时总是沿着镜面反射方向进行,这适用于镜面材质,但却不适用于 Glossy 之类的材质。

在这里插入图片描述

问题二:漫反射后会停止

在这里插入图片描述

Path Tracing可以让渲染更加真实。

2.涉及

在这里插入图片描述

实现

渲染模型

在这里插入图片描述
蒙特卡洛积分方案
在这里插入图片描述
则有
在这里插入图片描述

代码

在这里插入图片描述
在这里插入图片描述

问题:递归计算爆炸

在这里插入图片描述

只取一条光线

在这里插入图片描述

光线生成

在这里插入图片描述
在这里插入图片描述

问题:递归不会停止

在这里插入图片描述

解决方案:俄罗斯轮盘赌

使用俄罗斯轮盘赌来随机终止递归
在这里插入图片描述
在这里插入图片描述

问题:光线使用效率不高

在这里插入图片描述

解决方法:改变蒙特卡洛积分的采样函数

在这里插入图片描述

解决与光线中有阻挡物问题

在这里插入图片描述

举报

相关推荐

0 条评论