Hero wavelength sampling
研究现状
MC波长采样
最简单的方法,每一条路径path一个波长,但是会产生很多噪声,而且很浪费路径。

因为,在没有波长依赖的路径的情况下,各个波长的路径是一样的。(但是如果遇到透射的情况,波长会导致路径不一致)
Evans和McCool给出了一条路径多个波长的方法, LuxRender在使用。

预定义波长和基函数
预定义波长,在可见光范围内使用n个波长样本,但是如果样本不够,会产生error;到底使用多少个波长,且波长之间的间隔没有标准。一般至少为8,颜色验证的时候用32。
使用傅里叶基函数难以使用所有的场景。
波长相关散射函数
波长会影响BSDF和体散射的采样。Evans和McCool建议:
- 要么split路径(导致路径指数上升)
- 要么选择其一,丢弃其他的(导致color noise增强)
光谱重要性采样
Radziszewski提出使用MIS克服上述问题:随机选一个波长,然后计算其权重。

但是没给出权重和采样的计算方法。
本文是上述的一个简化版本,且可以适用于更多的path sampling方法。
算法 Hero wavelength sampling
首先,随机选取一个波长,作为hero wavelength,用来作为路径传播的主波长。
然后,以hero wavelength 为中心,在其左右,以等间隔分布,计算其他C个附加波长。

3.1 联合采样密度
当每条路径使用多个波长的时候,相当于对多个波长重复使用路径。如果采样
的时候,是波长相关的,这实际上导致了联合样本对(combined sample pair)
的概率的不同。因为
对于一系列波长是固定的,那么样本对
的概率为:

个人思考:
-
的意义:对于一组波长
其中
,在这些波长下,都得到同一条路径
,那么第
个波长和路径的联合概率密度,为
-
上述公式,相当于将
个波长的
求和取平均, 也就说,这
个波长的联合概率是相等的???
概率中的求和来自于:C个波长中的任何一个,都可以产生路径,都可以产生样本对
。“求和”再除以C是因为,
是选择这个波长作为hero wavelength的概率。
需要注意的是:甚至当附加波长是采样的,而不是确定选择的时候,都成立!
大多数渲染系统对于每条路径使用多个波长,忽略了这个事实,而且使用如下的概率

这当且仅当采样的概率对于所有波长是一样的时候,才成立,i.e. 没有路径采样的波长相关性。(换句话说,如果具有波长相关性的时候,波长不同,采样路径的概率 就不同,那么联合概率密度 ,就不同)
3.2 MIS with shifted techniques
[RBA09] 没有给出权重和采样的计算方法。
(下面内容不太理解)
定义采样方法
- 根据
,采样波长
,, 其中
返回采样方法
原始的hero wavelength
- 根据概率密度
,采样路径
,
- 令
这相当于每次,C个波长中的一个,被选为hero wavelength,我们定义一个不同的技术去采样联合样本对
权重可以定义为:
从而:
我们方法的一个重要特性是,对上面每一个采样技术都使用了同样的(Q)MC序列,用于生成等距的波长,和同样的路径。更多的,
.