无偏光线传播
当光线传播在光源这半边容易计算时 BDPT 效果更好 emmm 不理解
这里 Metropolis 不是大都市的意思, 而是人名
马尔科夫链蒙特卡洛方法
马尔科夫链: 根据当前的样本, 推断出和这个样本靠近的下一个样本.
和之前的均匀采样的蒙特卡洛不一样, 之前是各自相互独立的随机生成光线. 马尔科夫则是当前有一个样本, 然后再周围生成一个新样本, 然后用这些样本去估计函数的值.
PS: 这里的PDF 是概率密度函数.
适合 caustics 场景 (由于光线的聚焦产生的明显图案)
假设: 光子打到漫反射物体上就停下来
近邻算法, 找到最近的几个光子, 然后计算密度.
光子密度太少, 很多噪点 光子密度太大, 画面就很模糊.
有偏估计 biased 但是是一致的. 光子数量有限, 最后得到的结果一定有一点模糊.
和真实正确的结果相比, 只要存在一点模糊, 就是有偏的. 一致的则是表示, 当光子足够多, 达到无限的时候, 最后得到的结果收敛到不模糊的结果.
双向路径追从和光子映射的结合
将被照亮的物体当做光源 所以每次都只计算直接光照.
缺点: 缝隙处可能存在高亮 另外不能处理glossy 物体
外观建模
又称为参与介质
比如云, 光线在行进的过程中, 因为有冰晶的存在,光线经过冰晶时, 光线会被随机分散 到各个方向上。
决定光线如何散射
Marshner Model 效果比 Kajiya model 好 在头发内部又发生反射, 头发在处理的时候被认为是一根玻璃柱.
人的头发模型和动物的毛发存在差别.
动物毛发更容易发生散射. 对于动物的毛发适用双圆柱模型(新版狮子王).
比如玉, 水母等.
次表面散射BSSRDF. 在物体内部发生很多次反射最后出去.
从 Fiber 缠绕形成 Ply, Ply 缠绕形成 Yarn.
不同的编织方式会得到不同的结果.
当物体很小, 和光波相近的时候, 就会发生很多衍射和干涉的情况. 尤其是铝材质, 放大看是五颜六色.
可以利用噪声函数, 得到空间中的点来模拟立体物体. (这样处理速度快)
一个很有名的噪声函数 Perlin Noise
应用:比如地形 山脉, 水面的波纹.
程序化材质, Houdini 就专门做这个的.