When deriving the Jacobian of the reflection transformation in Walter et. al's 2007 paper:

First we have a macrosurface BSDF which is:

$f_{s}(\mathbf{i}, \mathbf{o}, \mathbf{n})=\int\left|\frac{\mathbf{i} \cdot \mathbf{m}}{\mathbf{i} \cdot \mathbf{n}}\right| f_{s}^{m}(\mathbf{i}, \mathbf{o}, \mathbf{m})\left|\frac{\mathbf{o} \cdot \mathbf{m}}{\mathbf{o} \cdot \mathbf{n}}\right| G(\mathbf{i}, \mathbf{o}, \mathbf{m}) D(\mathbf{m}) d \omega_{m}$

Then we need an equation for $f_s^m$, the microsurface BSDF. And the paper gives:

$f_{s}^{m}(\mathbf{i}, \mathbf{o}, \mathbf{m})=\rho \frac{\delta_{\omega_{o}}(\mathbf{s}, \mathbf{o})}{|\mathbf{o} \cdot \mathbf{m}|}$

Then they rewrite it to fit in the macrosurface BSDF by changing the associated measure of the Dirac delta function:

$f_{s}^{m}(\mathbf{i}, \mathbf{o}, \mathbf{m})=\rho(\mathbf{i}, \mathbf{m}) \frac{\delta_{\omega_{m}}(\mathbf{h}(\mathbf{i}, \mathbf{o}), \mathbf{m})}{|\mathbf{o} \cdot \mathbf{m}|}\left\|\frac{\partial \omega_{\mathbf{h}}}{\partial \omega_{\mathbf{0}}}\right\|$.

And my question is, why should the jacobian be a $\left\|\frac{\partial \omega_{\mathbf{h}}}{\partial \omega_{\mathbf{o}}}\right\|$ instead of a $\left\|\frac{\partial \omega_{\mathbf{m}}}{\partial \omega_{\mathbf{o}}}\right\|$? I noticed that the associated mesure changed from $\omega_{\mathbf{o}}$ to $\omega_{\mathbf{m}}$, instead of $\omega_{\mathbf{h}}$.


1 Answer 1


There is a functional relationship between $\mathbf{h}$ and $\mathbf{o}$ (and also $\mathbf{i}$) whose Jacobian is being taken. But there's no prior functional relationship between $\mathbf{m}$ and $\mathbf{o}$; they are unrelated variables, until $\mathbf{m}$ is constrained to equal $\mathbf{h}$ by the delta function $\delta(\mathbf{h}, \mathbf{m})$.

So, really you could write the Jacobian either way, but in my mind it makes a little more sense to write it as $\| \partial \omega_\mathbf{h} / \partial \omega_\mathbf{o} \|$ as that's the underlying functional relationship.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.