<p>There is a functional relationship between <span class="math-container">$\mathbf{h}$</span> and <span class="math-container">$\mathbf{o}$</span> (and also <span class="math-container">$\mathbf{i}$</span>) whose Jacobian is being taken. But there's no prior functional relationship between <span class="math-container">$\mathbf{m}$</span> and <span class="math-container">$\mathbf{o}$</span>; they are unrelated variables, until <span class="math-container">$\mathbf{m}$</span> is constrained to equal <span class="math-container">$\mathbf{h}$</span> by the delta function <span class="math-container">$\delta(\mathbf{h}, \mathbf{m})$</span>.</p>
<p>So, really you could write the Jacobian either way, but in my mind it makes a little more sense to write it as <span class="math-container">$\| \partial \omega_\mathbf{h} / \partial \omega_\mathbf{o} \|$</span> as that's the underlying functional relationship.</p>

CC BY-SA 4.0
2021-07-17T16:40:26.960Z
2021-07-17T16:40:26.960Z
Nathan Reed
<p>When deriving the Jacobian of the reflection transformation in <a href="https://www.cs.cornell.edu/%7Esrm/publications/EGSR07-btdf.pdf" rel="nofollow noreferrer">Walter et. al's 2007 paper</a>:</p>
<p>First we have a macrosurface BSDF which is:</p>
<p><span class="math-container">$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}$</span></p>
<p>Then we need an equation for <span class="math-container">$f_s^m$</span>, the microsurface BSDF. And the paper gives:</p>
<p><span class="math-container">$f_{s}^{m}(\mathbf{i}, \mathbf{o}, \mathbf{m})=\rho \frac{\delta_{\omega_{o}}(\mathbf{s}, \mathbf{o})}{|\mathbf{o} \cdot \mathbf{m}|}$</span></p>
<p>Then they rewrite it to fit in the macrosurface BSDF by changing the associated measure of the Dirac delta function:</p>
<p><span class="math-container">$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\|$</span>.</p>
<p>And my question is, why should the jacobian be a <span class="math-container">$\left\|\frac{\partial \omega_{\mathbf{h}}}{\partial \omega_{\mathbf{o}}}\right\|$</span> instead of a <span class="math-container">$\left\|\frac{\partial \omega_{\mathbf{m}}}{\partial \omega_{\mathbf{o}}}\right\|$</span>? I noticed that the associated mesure changed from <span class="math-container">$\omega_{\mathbf{o}}$</span> to <span class="math-container">$\omega_{\mathbf{m}}$</span>, instead of <span class="math-container">$\omega_{\mathbf{h}}$</span>.</p>

<brdf><pbr><microfacet>
Confusion of deriving the Jacobian of the reflection transformation in Walter et. al's 2007 paper
user10546666
# Confusion of deriving the Jacobian of the reflection transformation in Walter et. al's 2007 paper

(Asked by: username_0 on 2021-07-16)

When deriving the Jacobian of the reflection transformation in [Walter et. al's 2007 paper](https://www.cs.cornell.edu/%7Esrm/publications/EGSR07-btdf.pdf):

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}}$.

**Tags:** brdf, pbr, microfacet


---

## 1 answers

### Answer by username_1 on 2021-07-17. Score: 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.


---

