RIS
#
定义无偏贡献权重为随机变量W, supp(X)为f在X的支撑集.
E[f(X)W]=∫supp(X)f(x)dx若各样本空间使用相同提议分布, 权重w=Mp(X)p^(X)的RIS可以将抽样概率收敛为目标分布.
E[f(Y)WY]=E[n=1∑Mp^(Xn)f(Xn)i=1∑Mwi∑i=1Mwiwn]=M E[p^(Xn)f(Xn)wn]=∫supp(X1)⋯∫supp(XM)pn(xn)f(xn)i=1∏Mp(xi)dxi=∫supp(X1)⋯∫supp(XM)f(xn)dxni=1,i=n∏Mp(xi)dxi=∫supp(Y)f(y)dy若各样本空间提议分布不同, 需泛化M1→ci(Xi), 要求∑i=1Mci(x)=1.
E[f(Y)WY]=E[n=1∑Mp^(Xn)f(Xn)i=1∑Mwi∑i=1Mwiwn]=n=1∑M∫supp(X1)⋯∫supp(XM)pn(xn)f(xn)cn(xn)i=1∏Mpi(xi)dxi=n=1∑M∫supp(X1)⋯∫supp(XM)f(xn)cn(xn)dxni=1,i=n∏Mpi(xi)dxi=n=1∑M∫supp(Xn)f(xn)cn(xn)dxn=∫supp(Y)f(y)n=1∑Mcn(y)dy
GRIS
#
依据全期望公式E(XY)=∫Xx p(x) E(Y∣X=x)dx, 可得:
E[W∣X]=p(X)1若各样本的积分域与最终积分域不同, 需经位移映射Y=Tx(X)变换后再计算权重, 得到w=px(X)p^(Y)cx(Y)JX→Y, 其中JX→Y=∂X∂Y. 由于变换后为supp(Y)=Ti(supp(Xi)), 记变换后包含Y的样本域集合N(Y)={n:Y∈Tn(supp(Xn))}, 无偏要求supp(Y)⊆⋃n=1MTn(supp(Xn))且∑n∈N(Y)cn(Y)=1
E[f(Y)WY]=E[p^(Y)f(Y)i=1∑Mwi]=E[n=1,Yn=Tn(Xn)∑Mp^(Yn)f(Yn)i=1∑Mwi∑i=1Mwiwn]=n=1,yn=Tn(xn)∑M∫supp(X1)⋯∫supp(XM)pn(xn)f(yn)cn(yn)Jxn→yni=1∏Mpi(xi)dxi=n=1,yn=Tn(xn)∑M∫supp(X1)⋯∫supp(XM)f(yn)cn(yn)Jxn→yndxni=1,i=n∏Mpi(xi)dxi=n=1,yn=Tn(xn)∑M∫Tn(supp(Xn))f(yn)cn(yn)dyn=∫⋃n=1MTn(supp(Xn))f(y)n∈N(y)∑cn(y)dy泛化为无偏权重px(X)1→Wx, 不显式定义w, 可以基于全期望公式证明蓄水池合并结果WY=cx(Y)WxJX→Ywx∑i=1Mwi无偏:
E[f(Y)WY]=E[n=1,Yn=Tn(Xn)∑Mf(Yn)cn(Yn)WnJXn→Ynwn∑i=1Mwi∑i=1Mwiwn]=n=1,Yn=Tn(Xn)∑ME[f(Yn)cn(Yn)WnJXn→Yn]=n=1,yn=Tn(xn)∑M∫supp(Xn)f(yn)cn(yn)Jxn→ynE[Wn∣Xn=xn]pn(xn)dxn=n=1,yn=Tn(xn)∑M∫supp(Xn)f(yn)cn(yn)Jxn→yndxn=n=1,yn=Tn(xn)∑M∫Tn(supp(Xn))f(yn)cn(yn)dyn=∫⋃n=1MTn(supp(Xn))f(y)n∈N(y)∑cn(y)dy令mx(Y)≥0为MIS权重, 满足∑n∈N(y)mn(y)=1, RIS权重设置如下:
w={mx(Y)p^(Y)WxJX→Y,0,Y⊆Tx(supp(X))otherwise设置cx=mx, 此时WY=p^(Y)1∑i=1Mwi, 即p^(Y)WY=∑i=1Mwi, 对无偏性E[f(Y)WY]=∫supp(Y)f(y)dy取f=p^, 得权重和的期望:
E[i=1∑Mwi]=E[p^(Y)WY]=∫supp(Y)p^(y)dy=∥p^∥M→∞时, 由大数定律∑i=1Mwi收敛至常数∥p^∥. 若p^归一化, 则WY→p^(Y)1.
WY=p^(Y)1i=1∑Mwi→p^(Y)∥p^∥
ReSTIR DI
#
直接光照使用NEE在光源表面抽样, 样本域为所有发光表面的并集A=⋃iAi, 积分表示如下, 其中G(p↔pe)=∥pe−p∥2∣cosθcosθe∣为几何项, V为可见性:
Lo(p,ωo)=∫Af(p,ωo,ωi)Le(pe,−ωi)G(p↔pe)V(p↔pe)dADelta光源无面积, 作为原子点并入基测度, 样本域扩充为A′=A∪{p1,…,pK}:
μ=dA+k=1∑Kδpk,∫A′fdμ=∫AfdA+k=1∑Kf(pk)面光样本为光源面上的点, 其表示与NEE顶点无关, 且所有顶点的积分域都是同一面积测度下的光源表面, 因此复用时位移映射恒等即JX→Y=1. 点光与聚光的世界空间位置, 或方向光的世界空间方向, 同样与NEE顶点无关, 为恒等映射.
ReSTIR GI
#
每次蓄水池复用最终都存储无偏权重, 因此根据GRIS下次复用也可以得到无偏结果, 即链式GRIS. 目标像素的蓄水池总是被使用, 因此满足supp(Y)⊆⋃n=1MTn(supp(Xn)). 蓄水池结构为:
struct Reservoir {
f32 p_hat; // target distribution
f32 w_sum; // RIS weight sum
f32 M; // confidence
f32 W; // unbiased weight
};
蓄水池累积代码为w = p_hat * W * M * J, 可能的疑惑点在于, 相比GRIS定义的w, mx(Y)被替换为M. 令累积后支撑集中的样本数为N, 实际上累积过程会统计∑i=1NMi, M是分配给该样本域的置信度, 因此该域中的样本具有相同MIS权重. 最终计算无偏权重时使用w_sum / p_hat / M_sum, 此时w中的M被归一化, 得到满足∑i=1Nmi(Y)=1的MIS权重mn(Y)=∑i=1NMiMn.
ReSTIR DI/GI都将M解释为蓄水池的样本数量, 但它实际决定MIS权重, 可以自由调整, 因此认为M是样本置信度更合理, 只是通常它与样本数相关. 若追求无偏, 需要复用过程中投射阴影光线, 若被遮挡不合并该蓄水池, 保证∑n∈N(y)mn(y)=1.
由于Lambertian的均匀分布特性, 基于入射辐亮度分布采样效率更高, 因此ReSTIR GI使用入射辐亮度作为目标分布. 由于Lambertian出射辐亮度均匀, 新样本不需要重新计算. Torrance-Sparrow直接基于BSDF抽样效率更高, 若一定要应用ReSTIR, 新样本目标分布计算开销大, 可采用Blinn-Phong等简单模型.
ReSTIR PT
#
使用主样本空间执行积分, 令CDF为P, 这使得每个顶点生成光线的PDF不再属于无偏权重.
∫xf(x)dx=∫uf(P−1(u))∂u∂P−1(u)du=∫up(x)f(P−1(u))du末尾为BSDF采样时所有维度均经CDF生成, PSS样本X=u均匀, p(X)=1. 若采样包含轮盘赌, 此时p(X)=∏iqi. 末尾为NEE时令末端顶点为pe, 得到混合样本X=(u,pe). 散射维度以立体角测度表示, 末端顶点以ReSTIR DI光源测度μ表示:
∫ω∫A′f(x)dμ(pe)i=1∏d−2dωi=∫u∫A′∏i=1d−2pi(ωi)f(x)dμ(pe)i=1∏d−2duiu均匀且pe独立地以NEE分布p1生成, 因此p(X)=p1(pe)∏iqi. 若NEE使用RIS生成, p1使用无偏权重即可. 末端顶点复用时为恒等映射, Jacobian只由散射维度贡献.
不同顶点数的积分不相交, 即f(x)=∑i=1∞∫xif(xi)dxi, ⋃i=1∞xi=x使得样本满足supp(Y)⊆⋃n=1MTn(supp(Xn)), 同时对于单个像素生成的光线, 生成的每个NEE样本总是顶点数不同, N(y)只位于一个支撑集, MIS权重设置为1即可.
对于当前像素y, 从对所有像素相同的相机顶点y0出发, 发射确定的初始光线击中y1, 之后由随机数ui生成散射方向ωi, 其中分量u~i选取波瓣. 复用时使用另一个像素x的路径使用的随机数, 从y1出发生成新的ωiy, 若yi, xi, xi+1都满足重连接条件(材质足够粗糙, 顶点距离足够远…), 将yi连接到xi+1并复用后续路径, 得到新路径y.
注意到由于重连接y和x拥有相同的顶点数, 且除生成yi→yi+1→yi+2使用的随机数外其余随机数相同, 若未使用VNDF等视线相关抽样则只需考虑yi→yi+1.
由于重要性抽样中U为目标分布CDF, 微分可得PDF. 若重连接顶点复制波瓣选择随机数即u~iy=u~ix, 只变化u~ix而ωix固定时命中点pi+1x不变, 即∂u~ix∂ωiy=0, 同理∂u~iy∂ωix=0, 而∂u~ix∂u~iy=1, 因此只需计算立体角微分∂ωix∂ωiy. 令θ为立体角与法线的夹角, 对于同序顶点Jacobian如下:
∂uix∂uiy=∂(ωiy,u~iy)∂uiy∂(ωix,u~ix)∂(ωiy,u~iy)∂uix∂(ωix,u~ix)=pxi(ωix,u~ix)pyi(ωiy,u~iy)∂ωix∂ωiy=pxi(ωix,u~ix)pyi(ωiy,u~iy)cosθxcosθy∥pi+1x−piy∥2∥pi+1x−pix∥2对于非同序顶点, 我们无法得到最后立体角微分的解析形式. 但由于ωi+1x只依赖ωix, 可得∂ωi+1x∂ωiy=0, Jacobian为下三角行列式. 由于ωi+1y=ωi+1x, 形式如下:
Jx→y=∂uix∂uiy∂uix∂ui+1y∂ui+1x∂uiy∂ui+1x∂ui+1y=∂uix∂uiy∂ui+1x∂ui+1y=pxi(ωix,u~ix)pyi(ωiy,u~iy)pxi+1(ωi+1x,u~i+1x)pyi+1(ωi+1y,u~i+1y)cosθxcosθy∥pi+1x−piy∥2∥pi+1x−pix∥2如果直接用置信度计算权重, 需要了解当前样本是否位于所有被复用的样本域的支撑集中. 由于支撑集外的p^(x)=0, 基于它设置MIS权重天然的满足∑n∈N(Y)cn(Y)=1. 常用的配对MIS权重如下, 为计算中心规范样本中的p^←i(y), 必须在执行合并前将y逆变换到每个候选空间执行重放. 最终重放次数为2N, 相比朴素的O(N2)方法显著降低开销.
mi(Y)mc(Y)=N+11Mip^←i(Y)+NMcp^c(Y)Mip^←i(Y),i=c=N+11(1+i=1∑NMip^←i(Y)+NMcp^c(Y)NMcp^c(Y))目标分布为积分结果对像素的贡献, 初始权重为NEE/BSDF MIS无偏权重, 链式GRIS可实现无偏复用. 为节省内存, 采样时贪心的确定首对满足要求的xi, xi+1, 只存储随机数种子.