<p>If we have a vector in the upper hemisphere in tangent space, <span class="math-container">$(x, y, z)$</span> with <span class="math-container">$z &gt; 0$</span>, then the slopes of the vector are <span class="math-container">$(\tilde x, \tilde y) = (-x/z, -y/z)$</span>. These values are the slopes (derivatives), along <span class="math-container">$x$</span> and <span class="math-container">$y$</span>, of a surface that is normal to the given vector. See also equation (4) in the paper, which is the conversion back and forth between slopes and vectors.</p>
<p>The 2D space of slope values is called &quot;slope space&quot;. It is an unbounded space, so any <span class="math-container">$(\tilde x, \tilde y)$</span> point represents  a valid vector in tangent space (such as a microfacet normal). Geometrically, you can picture it like the intersection of the vector with the <span class="math-container">$z = 1$</span> plane. It produces an invertible, one-to-one mapping (bijection) between the upper hemisphere and the plane.</p>
<img src="https://i.sstatic.net/ogKi5.png" width="400" alt="diagram of normal vector intersecting z=1 plane" />
<p>Slope space is often used in microfacet BRDF theory because of its desirable properties. Since it is unbounded, it can be more convenient to define functions and do mathematics in slope space than in spherical coordinates, or directly on the normals. Geometric transformations on the microfacet surface, such as scaling and shearing, have straightforward expressions in slope space. The most common NDFs, Beckmann and GGX, also have a simpler expressions in slope space: Beckmann is a Gaussian distribution in slope space, while <a href="https://mribar03.bitbucket.io/projects/eg_2017/distribution.pdf" rel="nofollow noreferrer">GGX is a Student's t-distribution in slope space</a>.</p>
<p>Edit: I wrote a <a href="https://www.reedbeta.com/blog/slope-space-in-brdf-theory/" rel="nofollow noreferrer">more in-depth blog post on this topic</a> in case more explanation is needed.</p>

CC BY-SA 4.0
2021-07-07T00:23:43.600Z
Why is the slopes of the vector are (̃ ,̃ )=(−/,−/)? Any material that I can read about or any pictures to demonstrate this?
SSS
CC BY-SA 4.0
2021-07-07T00:32:08.197Z
@SSS Consider a plane equation $Ax + By + Cz = 0$ where $(A, B, C)$ is the normal vector to the plane. Write $z$ as a function of $x, y$: $z = (-Ax - By) / C$. Then calculate $\partial z / \partial x$ and you can see it's $-A/C$, similarly $\partial z / \partial y$ gives $-B/C$.
Nathan Reed
CC BY-SA 4.0
2021-07-07T00:56:08.790Z
@SSS See slide 17 in this presentation for example: https://wiki.tizen.org/images/0/0c/Chapter_11%28Normal_mapping%29.pdf
Nathan Reed
CC BY-SA 4.0
2021-07-07T00:57:41.853Z
Tangent space is a coordinate system aligned with a surface, so that x and y are along the surface (tangent vectors) and z is normal to the surface. The "upper hemisphere" means the hemisphere of vectors pointing away from the surface.
Nathan Reed
CC BY-SA 4.0
2021-07-07T01:58:54.270Z
You mention "picture it like the intersection of the vector with the =1 plane". Say we intersect normal vectors with z=1 plane, as shown in Fig3 in the paper,  it just map a point on hemisphere to the plane. How does this relate to slope of normals, e.g. n0 ?
SSS
CC BY-SA 4.0
2021-07-07T02:05:58.107Z
The slopes are cartesian coordinates on that plane.
Nathan Reed
CC BY-SA 4.0
2021-07-17T16:59:04.737Z
@SSS I added a diagram and a link to a blog I wrote with more in depth explanation.
Nathan Reed
CC BY-SA 4.0
2021-07-06T05:49:39.327Z
2021-07-17T16:58:38.357Z
2021-07-17T16:58:38.357Z
Nathan Reed
<p>Nathan's answer and his in-depth blog post are just great.
However following pictures helped me a lot to visually understand slope space.
From Dupuy thesis (Photorealistic Surface Rendering with Microfacet Theory, 2015).</p>
<p><a href="https://i.sstatic.net/FuP8x.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/FuP8x.png" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2023-01-03T17:44:16.113Z
2023-01-03T17:44:16.113Z
Max Tarpini
<p>I was reading this <a href="https://rgl.s3.eu-central-1.amazonaws.com/media/papers/Loubet2020Slope.pdf" rel="nofollow noreferrer">slope space integral</a> paper. Can anyone help to explain slope space and slope distribution mentioned in this paper, and why we can use normal and half vector to represent 2D positions in slope space? Thanks!</p>

<brdf>
What is slope distribution
SSS
# What is slope distribution

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

I was reading this [slope space integral](https://rgl.s3.eu-central-1.amazonaws.com/media/papers/Loubet2020Slope.pdf) paper. Can anyone help to explain slope space and slope distribution mentioned in this paper, and why we can use normal and half vector to represent 2D positions in slope space? Thanks!

**Tags:** brdf


---

## 2 answers

### Answer by username_1 on 2021-07-06. Score: 2 | Accepted answer

If we have a vector in the upper hemisphere in tangent space, $(x, y, z)$ with $z > 0$, then the slopes of the vector are $(\tilde x, \tilde y) = (-x/z, -y/z)$. These values are the slopes (derivatives), along $x$ and $y$, of a surface that is normal to the given vector. See also equation (4) in the paper, which is the conversion back and forth between slopes and vectors.

The 2D space of slope values is called "slope space". It is an unbounded space, so any $(\tilde x, \tilde y)$ point represents a valid vector in tangent space (such as a microfacet normal). Geometrically, you can picture it like the intersection of the vector with the $z = 1$ plane. It produces an invertible, one-to-one mapping (bijection) between the upper hemisphere and the plane.

![diagram of normal vector intersecting z=1 plane](https://i.sstatic.net/ogKi5.png)

Slope space is often used in microfacet BRDF theory because of its desirable properties. Since it is unbounded, it can be more convenient to define functions and do mathematics in slope space than in spherical coordinates, or directly on the normals. Geometric transformations on the microfacet surface, such as scaling and shearing, have straightforward expressions in slope space. The most common NDFs, Beckmann and GGX, also have a simpler expressions in slope space: Beckmann is a Gaussian distribution in slope space, while [GGX is a Student's t-distribution in slope space](https://mribar03.bitbucket.io/projects/eg_2017/distribution.pdf).

Edit: I wrote a [more in-depth blog post on this topic](https://www.reedbeta.com/blog/slope-space-in-brdf-theory/) in case more explanation is needed.

> **Comments:**
> **username_0**: Why is the slopes of the vector are (̃ ,̃ )=(−/,−/)? Any material that I can read about or any pictures to demonstrate this?  
> **username_1**: @username_0 Consider a plane equation $Ax + By + Cz = 0$ where $(A, B, C)$ is the normal vector to the plane. Write $z$ as a function of $x, y$: $z = (-Ax - By) / C$. Then calculate $\partial z / \partial x$ and you can see it's $-A/C$, similarly $\partial z / \partial y$ gives $-B/C$.  
> **username_1**: @username_0 See slide 17 in this presentation for example: https://wiki.tizen.org/images/0/0c/Chapter_11%28Normal_mapping%29.pdf  
> **username_1**: Tangent space is a coordinate system aligned with a surface, so that x and y are along the surface (tangent vectors) and z is normal to the surface. The "upper hemisphere" means the hemisphere of vectors pointing away from the surface.  
> **username_0**: You mention "picture it like the intersection of the vector with the =1 plane". Say we intersect normal vectors with z=1 plane, as shown in Fig3 in the paper,  it just map a point on hemisphere to the plane. How does this relate to slope of normals, e.g. n0 ?  
> **username_1**: The slopes are cartesian coordinates on that plane.  
> **username_1**: @username_0 I added a diagram and a link to a blog I wrote with more in depth explanation.  

---

### Answer by username_2 on 2023-01-03. Score: 1

username_1's answer and his in-depth blog post are just great.
However following pictures helped me a lot to visually understand slope space.
From Dupuy thesis (Photorealistic Surface Rendering with Microfacet Theory, 2015).

[![enter image description here](https://i.sstatic.net/FuP8x.png)](https://i.sstatic.net/FuP8x.png)


---

