体积泼溅对体渲染积分的近似

原始体渲染公式:

I(γ(t))=T(t)σ(γ(t))c(γ(t))dt,(1)I(\gamma(t)) =\int T(t) \, \sigma(\gamma(t)) \, c(\gamma(t)) \, \mathrm{d}t, \tag{1}

在体积泼溅中,有

σ(x)=i=1KσiGi(x).(2)\sigma(\bm{x}) = \sum_{i=1} ^ K \sigma_i \, \mathcal{G}_i(\bm{x}). \tag{2}

ii 个高斯在 tt 处的密度贡献为 σiGi(γ(t))\sigma_i \, \mathcal{G}_i(\gamma(t)),对第 ii 个高斯沿射线积分:

RσiGi(γ(t))dt=σiRGi(γ(t))dt,\begin{aligned} & \int_\R \sigma_i \, \mathcal{G}_i(\gamma(t)) \, \mathrm{d}t \\ = & \sigma_i \int_\R \mathcal{G}_i(\gamma(t)) \, \mathrm{d}t, \end{aligned}

τi:=RGi(γ(t))dt,(3)\tau_i := \int_\R \mathcal{G}_i(\gamma(t)) \, \mathrm{d}t, \tag{3}

那么第 ii 个高斯的密度贡献就可以表示为 σiτi\sigma_i \tau_i,因此透射率

Ti=j=ii1(1σiτi).(4)T_i = \prod_{j=i} ^ {i-1}(1 - \sigma_i \tau_i). \tag{4}

所以

I(γ)=i=1Kci(σiτi)Ti,I(\gamma) = \sum_{i=1} ^ K c_i (\sigma_i \tau_i) T_i,

I(γ)=i=1Kciσiτij=1i1(1σjτj),with τi=RGi(γ(t))dt.(5)\boxed{ I(\gamma) = \sum_{i=1} ^ K c_i \sigma_i \tau_i \prod_{j=1} ^ {i-1} (1 - \sigma_j \tau_j), \quad \text{with } \tau_i = \int_\R \mathcal{G}_i(\gamma(t)) \, \mathrm{d}t. } \tag{5}