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真的是博大精深。