Game101课程笔记_lecture16_光线跟踪_蒙特卡洛路径追踪

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

last lecture

在这里插入图片描述

today

在这里插入图片描述

1 渲染方程回顾

在这里插入图片描述
渲染里面涉及的是连续性随机变量,不考虑离散型随机变量。
概率密度函数pdf
在这里插入图片描述

2 Monte Carlo Integration蒙特卡洛积分

1 why

解决一个定积分,但是这个函数不好些解析式子。
在这里插入图片描述
黎曼积分。

在这里插入图片描述

2 定义

在这里插入图片描述
举个例子;
在a和b均匀采样。蒙特卡洛积分特殊情况。
在这里插入图片描述
在这里插入图片描述

任何一点的的f(x)要知道,在这一点的概率密度p(x)也要知道。

在这里插入图片描述

3 Path Tracing 路径追踪

1 动机

光线追踪那些想法对吗?
在这里插入图片描述
1.问题1.
光线追踪只能实现左边的,实现不了右边的。
在这里插入图片描述
2. 问题2
光线追踪实现不了漫反射和漫反射之间的光照。
关系达到diffuese的时候不一定要停了,而是要进行反射。

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

2 解蒙特卡洛

在这里插入图片描述
渲染方程和反射方程就差一个发光项。
在这里插入图片描述
随机在半球面上取一个方向
均匀采样;
在这里插入图片描述
其蒙特卡洛积分算法如下:
只考虑直接光照:
在这里插入图片描述
在这里插入图片描述

继续考虑间接光照:
即考虑PQ
在这里插入图片描述
算法如下:
在这里插入图片描述
问题1:
光线弹射两次后光线数量就爆炸了。

在这里插入图片描述
如果N=1的时候就不会爆炸了。
N=1就是路径追踪问题。
如果N不等于1,就是分布式光线追踪。
在这里插入图片描述
在这里插入图片描述

问题2:
算法永远不会停,但是不得不停,同时真实世界中光线是无限弹射的。这是一对矛盾。

在这里插入图片描述
在这里插入图片描述
解决办法:
在一定条件下停下来。
在这里插入图片描述
在这里插入图片描述
算法如下:
有p的概率生存下来,我期望会弹射多少次。
在这里插入图片描述
这已经是正确 的path traying算法了。
但是并不是那么高效。
在这里插入图片描述
有很多光线浪费掉了,如何不浪费呢?
在这里插入图片描述
蒙特卡洛积算法的概率密度可以自己定义,找一个最好的。
转化成对光源积分dA.只要知道dA和dW直接的关系。
在这里插入图片描述
在这里插入图片描述
重写渲染方程:
用到了改变积分域的高数知识
在这里插入图片描述
现在直接对光源进行采样,避免了光线的浪费。
拆成了两部分:
在这里插入图片描述
采样光源是对光源进行积分的计算
对其他的就是原始版本的积分。
在这里插入图片描述
上面的是光源不会挡住,但是有时候会被挡住。所以先要进行判读是否被挡住。

在这里插入图片描述

路径追踪中的点光源很不好做。做点光源采取用小的面积光源。
在这里插入图片描述

path tracying 很有用,几乎百分之百的有用。可以看到-照片即真实感。
在这里插入图片描述

4 总结

以前说ray tracying就是whitted-style ray tracing
但是现在说的话就是所有的光线路径的传播方法的大结合。
在这里插入图片描述

5 本节课涉及但没有讲的

怎么样生成一张图呢?要嘛光栅化,要嘛光线追踪。

怎么样对一个函数进行均匀采样,采样理论。
什么样的pdfs是最好的。重要性采用理论。随机数有质量之分,随机数序列。
结合两种方法,是不是更好些,现在学术界在研究的一个前沿点。

不同路径的radiance为啥要平均起来,是不是要加个权呢?
最后的辐射是不是颜色,不是,最后要进行gama矫正。
路径追踪是不是introductory,是。
敬畏科学。有很多东西理解的不是清楚。
大二开始学,学了快10年,rendering真的是博大精深。

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

6 视频

https://www.bilibili.com/video/BV1X7411F744?p=16

发布了134 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/105328412