计算机图形学入门(十七)-光线追踪(蒙特卡洛积分与路径追踪)
本部分继续光线追踪部分,先介绍了蒙特卡洛积分的方法,之后对路径追踪PT的发展和推导过程进行了全面的阐述。
学习视频
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1X7411F744?p=16

本节需要准备知识:上一节的渲染方程、概率和微积分的基本知识。下面的蒙特卡洛积分部分也算是提前的知识储备。
蒙特卡洛积分
为什么:
我们想要解决一个定积分,但它可能很难通过解析式解决。
怎么样使用蒙特卡洛积分:


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


注意

路径追踪
Whitted-Style光线追踪
可见:
计算机图形学入门(十三)-光线追踪(基本原理) - 知乎 (zhihu.com)


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

Whitted-Style光线追踪是不正确的
但是渲染方程是正确的
见上一节
计算机图形学入门(十六)-光线追踪(渲染方程) - 知乎 (zhihu.com)

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



继续写

渲染算法

进一步加入间接光照


严重的问题:指数爆炸

修改一下之前的算法

N!=1叫做分布式光线追踪,现在很少有人提了,还是指数爆炸的问题。
真实世界中光线确实不会停下来,但在计算机中可不能这么模拟,但限制弹射次数又会有能量损失(继续弹射的那部分光不去计算了),聪明的人们想出了办法:
俄罗斯轮盘赌


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

但仍存在问题

需要提高效率

回想蒙特卡洛积分

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


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


路径追踪的代码基本就这些了
遗留问题,点光源怎么办?建议把点光源变成个小面积光源。
一些其他的点


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

还有一些问题并没有谈到


DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)