https://www.cnblogs.com/lv-anchoret/category/1368696.html
我们这节主要讲把之前的概率密度做混合,以得到更好的效果
我们上一篇以前经常用关于cos函数的pdf,上一节用的是与光源采样相关的pdf,那么,我们把两者结合到一起,协调它们之间的比例,我们就可以得到一个有着两种概率密度模型的pdf,这往往是更贴近生活的,那么我们今天就来学习测试一下。
Ready
这一节就是把前几篇的概率密度做混合,所以,需要的就是熟悉之前的内容。
当然,之前的框架代码也比较丑,基本都是在lerp函数里面做调整,所以,我们顺便把框架搭得更好一点
正文
我们都知道,设计pdf的一个很重要的原则就是使得累积概率密度达到且只达到1,所以,我们先采用一种非常简单的比例协调方式混合两个pdf。
例如我们有如下的混合密度方程
pdf_mixture(direction) = 1/2 * pdf_reflection(direction) + 1/2 * pdf_light(direction)
即,两者各占一半
要实现两者,代码描述也很简单:
if ( rand01() < 0.5 ) pdf_reflection(); ... else pdf_light(); ...