体传输

Date: 2018-11-06 12:41
Categories: 渲染

草稿,未完…
【x*】代表相对重要可以优先看的参考文献。

基础

直观认识

吸收:黑色的烟
散射(外散射,内散射):云
发射:爆炸产生的红色发光烟雾

理论

对于一个微分距离:
d L ( x , ω ) d z = − μ t L ( x , ω ) + μ a ( x ) L e ( x , ω ) + μ s ( x ) L s ( x , ω ) \frac{dL(x,\omega)}{dz}=-\mu_t L(x,\omega)+\mu_a(x)L_e(x,\omega)+\mu_s(x)L_s(x,\omega) dzdL(x,ω)=μtL(x,ω)+μa(x)Le(x,ω)+μs(x)Ls(x,ω)

其中 μ t ( x ) = μ a ( x ) + μ s ( x ) \mu_t(x)=\mu_a(x)+\mu_s(x) μt(x)=μa(x)+μs(x),前半截是lossed,后半截是gains.

注意:只有两个系数,吸收和散射系数,吸收分为自吸收( − μ a L -\mu_aL μaL)和发射吸收( μ a L e \mu_aL_e μaLe),散射分为自外散射( − μ s L -\mu_sL μsL)和外来内散射(外来光线通过phase函数: μ s L s \mu_sL_s μsLs)

所以要确定一个介质只需要确定三个参数:吸收系数,散射系数,phase函数(包括g).

把这个式子换成参数式得到一个一阶线性常微分方程,简单写为:

L ′ ( s ) + μ t ( s ) L ( s ) = Z ( s ) L'(s)+\mu_t(s)L(s)=Z(s) L(s)+μt(s)L(s)=Z(s)

从0积分到z(所求的x点)有:

d L ( s ) d s = − μ t ( s ) L ( s ) \frac{dL(s)}{ds}=-\mu_t(s)L(s) dsdL(s)=μt(s)L(s)
两端对s积分从0到z(定积分完成后就不再有s):
∫ 0 z d L ( s ) L ( s ) = ∫ 0 z − μ t ( s ) d s \int_0^z\frac{dL(s)}{L(s)}=\int_0^z-\mu_t(s)ds 0zL(s)dL(s)=0zμt(s)ds
→ L ( z ) = C e − ∫ 0 z μ t ( s ) d s \rightarrow L(z)=Ce^{-\int_0^z\mu_t(s)ds} L(z)=Ce0zμt(s)ds
变C为 u ( z ) u(z) u(z)有():
L ( z ) = u ( z ) e − ∫ 0 z μ t ( s ) d s L(z)=u(z)e^{-\int_0^z\mu_t(s)ds} L(z)=u(z)e0zμt(s)ds
两端对z求导:
d L ( z ) d z = d u ( z ) d z e − ∫ 0 z μ t ( s ) d s − u ( z ) μ t ( z ) e − ∫ 0 z μ t ( s ) d s \frac{dL(z)}{dz}=\frac{du(z)}{dz}e^{-\int_0^z\mu_t(s)ds}-u(z)\mu_t(z)e^{-\int_0^z\mu_t(s)ds} dzdL(z)=dzdu(z)e0zμt(s)dsu(z)μt(z)e0zμt(s)ds
注意到:
u ( z ) μ t ( z ) e − ∫ 0 z μ t ( s ) d s = μ t ( z ) L ( z ) u(z)\mu_t(z)e^{-\int_0^z\mu_t(s)ds}=\mu_t(z)L(z) u(z)μt(z)e0zμt(s)ds=μt(z)L(z)
全部带回原方程并改变一下变量名字(方便之后定积分)得到:
d u ( s ) d s = Z ( s ) e ∫ 0 s μ t ( r ) d r \frac{du(s)}{ds}=Z(s)e^{\int_0^s\mu_t(r)dr} dsdu(s)=Z(s)e0sμt(r)dr
移项后对两端做0到z的定积分有:
∫ 0 z d u ( s ) = ∫ 0 z Z ( s ) e ∫ 0 s μ t ( r ) d r d s \int_0^zdu(s)=\int_0^zZ(s)e^{\int_0^s\mu_t(r)dr}ds 0zdu(s)=0zZ(s)e0sμt(r)drds
u ( z ) − u ( 0 ) = ∫ 0 z Z ( s ) e ∫ 0 s μ t ( r ) d r d s u(z)-u(0)=\int_0^zZ(s)e^{\int_0^s\mu_t(r)dr}ds u(z)u(0)=0zZ(s)e0sμt(r)drds
带回得到:
L ( z ) = e − ∫ 0 z μ t ( r ) d r [ u ( 0 ) + ∫ 0 z Z ( s ) e ∫ 0 s μ t ( r ) d r d s ] L(z)=e^{-\int_0^z\mu_t(r)dr}[u(0)+\int_0^zZ(s)e^{\int_0^s\mu_t(r)dr}ds] L(z)=e0zμt(r)dr[u(0)+0zZ(s)e0sμt(r)drds]
通过(
)计算可知: L ( 0 ) = u ( 0 ) L(0)=u(0) L(0)=u(0),于是:
得到最终解:
L ( z ) = e − ∫ 0 z μ t ( r ) d r [ L ( 0 ) + ∫ 0 z Z ( s ) e ∫ 0 s μ t ( r ) d r d s ] L(z)=e^{-\int_0^z\mu_t(r)dr}[L(0)+\int_0^zZ(s)e^{\int_0^s\mu_t(r)dr}ds] L(z)=e0zμt(r)dr[L(0)+0zZ(s)e0sμt(r)drds]

解微分方程的时候一般有个目标的上下限,如果确定使用定积分解方程,所有积分步骤都要使用定积分(这一步会更替自变量),关键问题在于:原本微分式子,做定积分后原本的自变量失效(因为定积分是常数!),现在的自变量替换为积分上或下限。而如果使用不定积分来解决问题则一切照旧。

上面的积分形式称为体渲染方程(VRE)其中 e − ∫ 0 z μ t ( r ) d r L ( 0 ) e^{-\int_0^z\mu_t(r)dr}L(0) e0zμt(r)drL(0)称为背景辐射(background radiance)。
直观地讲:不仅线上每个点都要辐射,而且每个点都要对应地衰减。

蒙特卡洛体传输

三阶矩代表对称度,0代表分布对称,正数代表左倾斜,负数代表右倾斜
四阶矩越大越拖尾(-<+)

Diffusion Approximation

Delta-Eddington Approximation【1】结合一个delta函数和一个two-term近似解决了Eddington近似在高度不对称情况下的poor accuracy. 同时这个近似取消了HG的分母。

DA的推导【2】【3】为了简化使用Delta-Eddington Approximation带入辐射度微分方程的phase函数,把delta部分积分出来与展开的衰减系数合并得到一个与原来形式近似的辐射度方程。令:

μ s ′ = μ s ( 1 − f ) \mu_s' = \mu_s(1-f) μs=μs(1f)
μ t ′ = μ a + μ s ′ \mu_t'=\mu_a + \mu_s' μt=μa+μs

整理一下得到(注意这里提前假设source term是0):

d L ( r , ω ) d z = − μ t ′ L ( r , ω ) + μ s ′ 4 π ∫ 4 π L ( r , ω ′ ) ( 1 + 3 g ′ ω ⋅ ω ′ ) d ω ′ \frac{dL(r,\omega)}{dz}=-\mu_t'L(r,\omega)+\frac{\mu_s'}{4\pi}\int_{4\pi}L(r,\omega')(1+3g'\omega\cdot \omega')d\omega' dzdL(r,ω)=μtL(r,ω)+4πμs4πL(r,ω)(1+3gωω)dω

其中 μ s ′ \mu_s' μs μ t ′ = μ a + μ s ′ \mu_t'=\mu_a + \mu_s' μt=μa+μs分别叫做reduced scattering coefficient和reduced extinction coefficient 。 不散射的部分被 1 − f 1-f 1freduced了, and this light is scattered out of the collimated beam and into the diffuse portion of the radiance。Similarity Theory指出,对于一个改变的参数集,可以得到RTE近似一样的解( By the principle of similarity, we use these reduced coefficients and assume isotropic scattering without significantly altering the solution【6】)。这个可以解释为:
Physically, we are lengthening or shortening the distance traveled by scattered light by 1− f, which after many scattering events is similar to the effect of an anisotropic phase function.
参考【7】。

Similarity Theory : 研究条件相似与解相似关系的理论,相似三角形是一个几何应用。RTE上的应用可以参考【4】【5】【6*】The authors derived a set of relations between two sets of scattering parameters so that the resulting RTEs have identical solution radiance fields when their directional frequencies are bounded. A highly simplified order-1 form of this theory is used extensively in diffusion methods and has been applied for accelerating Monte Carlo simulation of light transport.

delta-Eddington函数第一项代表前方的strong散射,第二项则代表更加漫反射type的散射。f代表前向峰值程度,g’则代表漫反射部分的对称性。
radiance分为collimated和diffuse两部分,前者代表入射beam方向还未散射的radiance,后者代表其他方向散射到beam方向的漫反射radiance:

L = L c o l l + L d L=L_{coll}+L_d L=Lcoll+Ld

单独考察 L c o l l L_{coll} Lcoll在Reduced Equation中的衰减,但是注意直接使用系数 μ t \mu_t μt衰减会比Reduced情形下衰减的更多,因为Reduced Equation情形下的衰减有漫反射补偿(delta-Eddington函数的delta部分的加入补偿了原来的衰减),所以应该使用 μ t ′ \mu_t' μt来进行衰减,于是有:
d L c o l l d s = − μ t ′ L c o l l \frac{dL_{coll}}{ds}=-\mu_t'L_{coll} dsdLcoll=μtLcoll

再注意微分方程的初始条件为: L c o l l L_{coll} Lcoll介质边界来的一道beam,应为菲涅尔穿越介质边界时会被减弱,于是:
L c o l l = T π F 0 ( r ) δ ( ω ⋅ z − ω 0 ⋅ z ) L_{coll}=T\pi F_0(r)\delta(\omega\cdot z-\omega_0 \cdot z) Lcoll=TπF0(r)δ(ωzω0z)

于是解得:
L c o l l = T π F 0 ( r ) δ ( ω ⋅ z − ω 0 ⋅ z ) e − μ t ′ z / μ 0 L_{coll}=T\pi F_0(r)\delta(\omega\cdot z-\omega_0 \cdot z)e^{-\mu_t'z/\mu_0} Lcoll=TπF0(r)δ(ωzω0z)eμtz/μ0

这些方程全部会带到辐射度方程化简移项得到:
d L d d s = − μ t ′ L d + μ s ′ 4 π ∫ 4 π L d ( ω ′ ) [ 1 + 3 g ′ ( ω ⋅ ω ′ ) ] d ω ′ + \frac{dL_d}{ds}=-\mu_t'L_d+\frac{\mu_s'}{4\pi}\int_{4\pi}L_d(\omega')[1+3g'(\omega \cdot \omega')]d\omega'+ dsdLd=μtLd+4πμs4πLd(ω)[1+3g(ωω)]dω+
μ s ′ 4 π T π F 0 ( r ) e − μ t ′ z / μ 0 [ 1 + 3 g ′ ( ω ⋅ z ) ( ω 0 ⋅ z ) ] \frac{\mu_s'}{4\pi}T\pi F_0(r)e^{-\mu_t'z/\mu_0}[1+3g'(\omega\cdot z)( \omega_0 \cdot z)] 4πμsTπF0(r)eμtz/μ0[1+3g(ωz)(ω0z)]

如果假设phase函数对称并使用算子来表示方向导数则上述公式进一步简化为:
( ω ⋅ ▽ ) L d ( r , ω ) = − σ t ′ L d ( r , ω ) + σ s ′ 4 π ∫ 4 π L d ( r , ω ′ ) d ω ′ + σ s ′ 4 π T Φ ( r ) e σ t ′ z / μ 0 (\omega\cdot \triangledown)L_d(r,\omega)=-\sigma_t'L_d(r,\omega)+\frac{\sigma_s'}{4\pi}\int_{4\pi}L_d(r,\omega ')d\omega '+\frac{\sigma_s'}{4\pi}T\Phi(r)e^{\sigma_t'z/\mu_0} (ω)Ld(r,ω)=σtLd(r,ω)+4πσs4πLd(r,ω)dω+4πσsTΦ(r)eσtz/μ0

为了使得解这个方程更加容易,下面需要对 L d L_d Ld做近似展开,此处可以看做是球谐展开【2 P37】(实际上此处也是以1,2阶矩来表示函数):
L d ( r , ω ) ≈ 1 4 π ϕ ( r ) + 3 4 π E ( r ) ⋅ ω L_d(r,\omega)\approx \frac{1}{4\pi}\phi (r)+\frac{3}{4\pi}E(r)\cdot \omega Ld(r,ω)4π1ϕ(r)+4π3E(r)ω

讲展开代入化简后的方程,并注意到:
ϕ ( r ) = ∫ 4 π L d ( r , ω ) d ω \phi(r)=\int_{4\pi}L_d(r,\omega)d\omega ϕ(r)=4πLd(r,ω)dω
E ( r ) = ∫ 4 π L d ( r , ω ) ω d ω E(r)=\int_{4\pi}L_d(r,\omega)\omega d\omega E(r)=4πLd(r,ω)ωdω

注意上式被积函数不是点乘,所以结果是一个向量。
第一个式子叫做fluence,代表各向同性flux,可以考虑为光入射一个medium中小体积的平均量;第二个叫做vector irradiance或者vector flux,代表某方向的各向异性flux,代表某一点的净光子流(net photon current).

讲得到的结果两端做全球积分,以及注意:

∫ 4 π ω ⋅ A d ω = 0 \int_{4\pi}\omega\cdot A d\omega=0 4πωAdω=0
∫ 4 π ( ω ⋅ A ) ( ω ⋅ B ) = 4 π 3 ( A ⋅ B ) \int_{4\pi}(\omega \cdot A)(\omega \cdot B)=\frac{4\pi}{3}(A\cdot B) 4π(ωA)(ωB)=34π(AB)

算子可以当成一个独立的向量进行计算

于是到的结果:
▽ ⋅ E ( r ) = − σ a ϕ ( r ) + σ s ′ T Φ ( r ) e σ t ′ z / μ 0 \triangledown \cdot E(r)=-\sigma_a\phi(r)+\sigma_s'T\Phi(r)e^{\sigma_t'z/\mu_0} E(r)=σaϕ(r)+σsTΦ(r)eσtz/μ0

此表达式说明diffuse flux取决于scalar flux的吸收以及collimated光的内散射。

联系两个量的方程

如果我们把公式两边乘以一个 ω \omega ω再做全球积分,可以得到:

▽ ϕ ( r ) = − 3 σ t ′ E ( r ) \triangledown\phi(r)=-3\sigma_t'E(r) ϕ(r)=3σtE(r)

我们最终要得到表面的漫反射radiance,等价于找到表面法方向的radiant exitance(单位面积出射的辐射流),如果考虑到flux强度 E ′ ( r ) = E ( r ) ⋅ n E'(r)=E(r)\cdot n E(r)=E(r)n(乘以cos),这个量也可以考虑为射出材质的光子流,于是有:

E ( r ) = − D ▽ ϕ ( r ) E(r)=-D\triangledown\phi(r) E(r)=Dϕ(r)

这意味着有净光子量流从高能量区域流向底能量区域。

Diffusion equation

如果方程两端再取散度得到:

▽ ⋅ E ( r ) = − 1 3 σ t ′ ▽ 2 ϕ ( r ) \triangledown\cdot E(r)=-\frac{1}{3\sigma_t'}\triangledown ^2 \phi(r) E(r)=3σt12ϕ(r)

再讲两端直接积分的方程代入其中,消掉E®,于是可以得到classic diffusion equation:

▽ 2 ϕ ( r ) − σ t r 2 ( r ) = − 3 σ s ′ σ t ′ T Φ ( r ) e σ t ′ z / μ 0 \triangledown^2\phi(r)-\sigma_{tr}^2(r)=-3\sigma_s'\sigma_t'T\Phi(r)e^{\sigma_t'z/\mu_0} 2ϕ(r)σtr2(r)=3σsσtTΦ(r)eσtz/μ0

其中 σ t r 2 = 3 σ t ′ σ a \sigma_{tr}^2=3\sigma_t'\sigma_a σtr2=3σtσa,叫做effective transport coefficient .
注意,方程右边代表源函数,这里使用的是collimated源,如果改用其他源应该修改这个源函数

求解Diffusion方程,讲结果代入联系方程,就能得到最终的radiant exitance .

求解的方法很多地方有写,在此不表,可以参考PBRT等 .

注意得到radiant exitance之后带回原来的方程得到 L d L_d Ld,注意可以直接使用 E ⋅ n E\cdot n En来直接计算标量E,这和对 L d L_d Ld积分求标量E是一样的(因为展开的时候E就已经是L的一阶矩)。

Jensen的bssrdf两边(出射和入射)都上了菲涅尔,然后中间的 R d R_d Rd就不再考虑菲涅尔,而PBRT的bssrdf考虑到 L d L_d Ld只在体内部有效,出射计算radiant的时候考虑的菲涅尔,所以pbrt的bssrdf公式只有一个菲涅尔term (PBRT P927 15.30).

注意: n ⋅ ∫ ω ⋅ L ( ω ) d ω = ∫ n ⋅ ω L ( ω ) d ω = ∫ c o s θ L ( ω ) d ω n\cdot \int \omega\cdot L(\omega)d\omega = \int n\cdot \omega L(\omega)d\omega=\int cos\theta L(\omega) d\omega nωL(ω)dω=nωL(ω)dω=cosθL(ω)dω

Sampling light transport paths

Basic Methods

单项方法中,直接均匀采样光源面积,效率较低,下列技术可以uniformly 采样立体角:
Stratified sampling of spherical triangles(siggraph)
An area-preserving parametrization for spherical rectangles(EGSR 2013)
Solid angle sampling of disk and cylinder lights(EGSR 2016)
Area-preserving parameterizations for spherical ellipses(EGSR 2017)
或者采样polygon明度:
Stratified sampling of 2-manifolds(sig course 01)

In fact, for point lights the variance is unbounded as individual contribu-
tions tend to infinity when the last free vertex(也就是倒数第二个顶点) in the medium approaches (by random chance) the point light—the geometry term along the shadow ray tends to infinity in such cases (点光源那个点和倒数第二个点距离过近).(对于一般的光源也有这个问题)
一种避免这个情况的方法就是,先采样灯光上那个点,然后根据这个点的情况来采样之前的几个点,有两种方法:
Equiangular sampling: Importance sampling techniques for path tracing in participating media(EGSR 2012)
简单来说,这种方法,现在光源上选择一个点,然后沿着 x k − 2 x_{k-2} xk2 x k − 1 x_{k-1} xk1采样一 x k − 1 x_{k-1} xk1,采样正比于 1 / d 2 1/d^2 1/d2.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8csyQS8U-1605237030673)(./vol_1.png)]
PDF和CDF在此不表,可以查阅原论文.

对于路径积分的形式来说,总的采样概率应该正比于path的contribution,但是实践中如果要从路径积分的pdf中来采样,就要对每个随机变量边缘化他的pdf,这是无法分析性计算出来的,也是不可行的。
所以通常的采样方法总是使用local采样(phase函数等),这并没有从joint分布上来控制采样,就可能会造成高方差,特别是对于光源在高度各向异性的media中。
For the special case of double scattering in media, Georgiev et al. [GKH ∗ 13] have found a way to sample from a prescribed joint distribution proportional to the product of geometry and phase function terms along a sequence of four path vertices—three segments.
*Joint importance sampling of low-order volumetric scattering(siggraph Asia 2013)

在有色media中波长dependency往往也有很大影响。比如: when the extinction varies with wavelength, there exist a few interesting variants of importance sampling.
The straightforward way to handle such situations is to just trace a single wavelength (or one channel of a color space in RGB rendering). Doing so, however, introduces chromatic noise and is wasteful because there is usually a large amount of correlation of the path contribution between different wavelengths. We could potentially save cost by calculating more wavelength contributions for every generated path.
Hero wavelength sampling:
Hero wavelength spectral sampling(EGSR 2014)
An improved technique for full spectral rendering(WSCG 2009)

【6.5.2. Spectral tracking with null-collision methods】略

Advanced methods

Bidirectional path tracing starts random walks to form transport paths both at the sensor and the light sources. In the presence of participating media, this proceeds just the same as in the vacuum case, only that propagation distances need to be sampled to simulate interactions with the medium and transmittance must be evaluated along deterministic connections.

其中transmittance解算是对称的,它与方向无关,但是pdf却不是:the normalization depends on the extinction coefficient at the target point µ t (t).

Reference

【1】The Delta-Eddington Approximation for Radiative Flux Transfer
【2】Towards Realistic Image Synthesis of Scattering Materials
【3】A radiative transfer framework for rendering materials with anisotropic structure
【4】Similarity relations for
anisotropic scattering in monte carlo simulations of deeply penetrating neutral
particles
【5】Similarity relations for the interaction parameters in radiation transport
【6】High-Order Similarity Relations in Radiative Transfer
【7】LIGHT TRANSPORT IN TISSUE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值