BSDF是否可线性叠加的推导

Linear composition of BSDF?

  • ROBUST MC Chapter 4 > The operator \(A\) that provides a linear mapping in a vector space \(\mathcal F \rightarrow \mathcal F\) is called a linear operator. \(Af\) denotes the application of an operator to a function, resulting another new function. ### Preliminary Light transport operator: \[ \mathbf T = \mathbf K\mathbf G \tag{1} \]

Where \(\mathbf K\) is the local scattering operator, \(L_o = \mathbf K L_i\), both \(L\) defined in the whole ray space \(\mathcal R\):

\[ (\mathbf Kh)(\mathbf{x}, \omega_o) = \int_{S^2} f_s(\mathbf{x}, \omega_i \to \omega_o) \, h(\mathbf{x}, \omega_i) \, d\sigma_{\mathbf{x}}^\perp(\omega_i) \] \(\mathbf G\) is the propagation operator, defining the geometric property of the space, \(L_i = \mathbf G L_o\), which should be symmetric. \[ (\mathbf Gh)(\mathbf{x}, \omega_i) = \begin{cases} h(\mathbf{x}_M(\mathbf{x}, \omega_i), -\omega_i) & \text{if } d_M(\mathbf{x}, \omega_i) < \infty, \\ 0 & \text{otherwise,} \end{cases} \]

Now right the light transport equation in operator form: \[ L = L_e + \mathbf T L \] Inverting the operator equation: \[ \begin{equation} \begin{aligned} (\mathbf I - \mathbf T)L &= L_e \\ L &= (\mathbf I - \mathbf T)^{-1} L_e \end{aligned} \end{equation} \] Defining solution \(\mathbf S = (\mathbf I - \mathbf T)^{-1}\). Given that \(\Vert \mathbf T \Vert \lt 1\), the inversion can be expanded with Neumann series: \[ \mathbf S = (\mathbf I - \mathbf T)^{-1} = \sum^{\infty}_{i = 0} \mathbf T^i = \mathbf I + \mathbf T + \mathbf T^2+ \cdots \] Light transport can then be expanded as well: \[ L = L_e + \mathbf T L_e + \mathbf T^2 L_e + \cdots \tag{2} \]

Derivation

Given a scene, with all reflective materials modeling as the accumulation of two BRDFs:

\[ f_r(\omega_i, \omega_o) = f_{diffuse}(\omega_i, \omega_o) + f_{specular}(\omega_i, \omega_o) \] Meaning that: \[ (\mathbf Kh)(\mathbf{x}, \omega_o) = \int_{S^2} (f_{diffuse}(\mathbf{x}, \omega_i \to \omega_o) + f_{specular}(\mathbf{x}, \omega_i \to \omega_o)) \, h(\mathbf{x}, \omega_i) \, d\sigma_{\mathbf{x}}^\perp(\omega_i) \] Because of the linearity of integration, the local scattering operator can be decomposed: \[ (\mathbf Kh)(\mathbf{x}, \omega_o) = ((\mathbf K_1 + \mathbf K_2)h)(\mathbf{x}, \omega_o) \] In which \(\mathbf K_1\) and \(\mathbf K_2\) are the diffuse and specular operator respectively:

\[ \mathbf K = \mathbf K_1 + \mathbf K_2 \tag{3} \]

Let \(\mathbf T_1 = \mathbf K_1 \mathbf G\) and \(\mathbf T_2 = \mathbf K_2 \mathbf G\), we define the linear accumulation of two BSDF to be: \[ L^\prime = \sum^\infty_{i = 0} ((\mathbf T_1 + \mathbf T_2) \mathbf G) ^ i L_e \] Substitute \((3)\) into \((1)\) we get: \[ \mathbf T = (\mathbf K_1 + \mathbf K_2)\mathbf G \tag{4} \]

Bring \((4)\) into \((2)\) we get: \[ L = L_e + ((\mathbf K_1 +\mathbf K_2)\mathbf G)L_e + ((\mathbf K_1 +\mathbf K_2)\mathbf G)^2L_e + \cdots \] Intuitively, \(L^\prime = L\) iff the two operator \(\mathbf K_1\) and \(\mathbf K_2\) is strictly orthogonal, such that:

\[ (\mathbf K_1 \mathbf K_2h)(\mathbf{x}, \omega_o) = 0 \]

作者

Carbene Hu

发布于

2024-11-19

更新于

2024-11-19

许可协议

评论