计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)

本部分继续光线追踪部分,先介绍了蒙特卡洛积分的方法,之后对路径追踪PT的发展和推导过程进行了全面的阐述。

学习视频

GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibiliicon-default.png?t=LA92https://www.bilibili.com/video/BV1X7411F744?p=16

图标

本节需要准备知识:上一节的渲染方程、概率和微积分的基本知识。下面的蒙特卡洛积分部分也算是提前的知识储备。

蒙特卡洛积分

为什么:

我们想要解决一个定积分,但它可能很难通过解析式解决。

怎么样使用蒙特卡洛积分:

每次采样都采到那些概率高的点,在求总的估计量的时候就要降低这些点的占比,所以是除以概率

例子

注意

路径追踪

Whitted-Style光线追踪

可见:

计算机图形学入门(十三)-光线追踪(基本原理) - 知乎 (zhihu.com)

Whitted-Style光线追踪问题1:对于光滑材质并不能使用镜面反射那种计算方式

Whitted-Style光线追踪是不正确的

但是渲染方程是正确的

见上一节

计算机图形学入门(十六)-光线追踪(渲染方程) - 知乎 (zhihu.com)

一个简单的蒙特卡洛积分应用

继续写

渲染算法

进一步加入间接光照

严重的问题:指数爆炸

修改一下之前的算法

N!=1叫做分布式光线追踪,现在很少有人提了,还是指数爆炸的问题。

真实世界中光线确实不会停下来,但在计算机中可不能这么模拟,但限制弹射次数又会有能量损失(继续弹射的那部分光不去计算了),聪明的人们想出了办法:

俄罗斯轮盘赌

这样最后的光线追踪结果基本上和无限反射结果相同

但仍存在问题

需要提高效率

回想蒙特卡洛积分

渲染方程改写成对面积dA的积分

现在可以回到原来的算法了

路径追踪的代码基本就这些了

遗留问题,点光源怎么办?建议把点光源变成个小面积光源。

一些其他的点

右边就是本节讲述的方法实现

还有一些问题并没有谈到

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值