<p>The &quot;slope space&quot; is a coordinate system that describes unit vectors in the upper hemisphere using their <span class="math-container">$x$</span> and <span class="math-container">$y$</span> slopes, i.e. <span class="math-container">$-x/z$</span> and <span class="math-container">$-y/z$</span>. It's related to the usual polar coordinates <span class="math-container">$\theta, \phi$</span> by a certain change-of-variables formula.</p>
<p>When a probability density function like the <span class="math-container">$P^{22}$</span> function is taken through a change of variables, it picks up an additional factor called the Jacobian, which accounts for the scaling of volume during the change of variables. It preserves the total amount of probability within any given region of the space, and keeps the function normalized.</p>
<p>In the passage from slope space to polar coordinates, the relevant Jacobian is <span class="math-container">$1/\cos^4 \theta$</span>, so you will see this factor show up whenever a density defined in slope space is reparameterized to polar coordinates.</p>
<p>More in-depth explanation here: <a href="https://www.reedbeta.com/blog/slope-space-in-brdf-theory/" rel="nofollow noreferrer">Slope Space in BRDF Theory</a></p>

CC BY-SA 4.0
2022-04-06T16:45:42.863Z
2022-04-06T16:45:42.863Z
Nathan Reed
<p>Recently I'm reading Eric Heitz's paper 'Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs', in section 5, 5.2, the paper defines the distribution of slopes and then says the distribution of normals is constructed from it (equation 64), I tried to understand it but still don't know how to manipulate the equations to do that, can somebody help me with this? Thanks a lot!
<a href="https://i.sstatic.net/GK8fu.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/GK8fu.png" alt="the part of this paper" /></a></p>

<rendering><physically-based><microfacet>
How is the distribution of normals constructed from the distribution of slopes in 'Understanding the masking-shadowing function' paper?
Wenjian Zhou
# How is the distribution of normals constructed from the distribution of slopes in 'Understanding the masking-shadowing function' paper?

(Asked by: username_0 on 2022-04-06)

Recently I'm reading Eric Heitz's paper 'Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs', in section 5, 5.2, the paper defines the distribution of slopes and then says the distribution of normals is constructed from it (equation 64), I tried to understand it but still don't know how to manipulate the equations to do that, can somebody help me with this? Thanks a lot!
[![the part of this paper](https://i.sstatic.net/GK8fu.png)](https://i.sstatic.net/GK8fu.png)

**Tags:** rendering, physically-based, microfacet


---

## 1 answers

### Answer by username_1 on 2022-04-06. Score: 1 | Accepted answer

The "slope space" is a coordinate system that describes unit vectors in the upper hemisphere using their $x$ and $y$ slopes, i.e. $-x/z$ and $-y/z$. It's related to the usual polar coordinates $\theta, \phi$ by a certain change-of-variables formula.

When a probability density function like the $P^{22}$ function is taken through a change of variables, it picks up an additional factor called the Jacobian, which accounts for the scaling of volume during the change of variables. It preserves the total amount of probability within any given region of the space, and keeps the function normalized.

In the passage from slope space to polar coordinates, the relevant Jacobian is $1/\cos^4 \theta$, so you will see this factor show up whenever a density defined in slope space is reparameterized to polar coordinates.

More in-depth explanation here: [Slope Space in BRDF Theory](https://www.reedbeta.com/blog/slope-space-in-brdf-theory/)


---

