<p>BRDFs are functions the define the distribution of the way light reflects off of a surface. They effectively answer the question, "given a light source here, how much light is reflected to me?" Well, that question has the two directions right there: the direction from the surface point to the light source, and the direction from the surface point to "me": the viewer.</p>

<p>BSDFs and BTDFs work in the same way, just asking slightly different questions. But the givens to those questions are the same: a light source and a viewer. And thus, they use the same directions.</p>

CC BY-SA 3.0
2017-05-21T19:08:44.187Z
So the "two directions" are simply the incidence ray and the reflection/transmission ray? :)
Kristoffer Helander
CC BY-SA 3.0
2017-05-21T18:13:48.967Z
2017-05-21T18:13:48.967Z
Nicol Bolas
<p>In general the two directions in BxDF are incoming $\omega_i$ and outgoing $\omega_o$ radiance directions, often defined in <a href="https://en.wikipedia.org/wiki/Spherical_coordinate_system" rel="noreferrer">spherical coordinates</a> $[\theta, \phi]$ or as a 3D unit vector in <a href="https://en.wikipedia.org/wiki/Cartesian_coordinate_system" rel="noreferrer">Cartesian coordinates</a> $[x, y, z]$. The BxDF $f(\omega_i, \omega_o)$ defines how much of the incident radiance $L_i$ from direction $\omega_i$ hitting the surface is scattered towards direction $\omega_o$. What $\omega_i$ and $\omega_o$ exactly represent depends on the context.</p>

<p>Often $\omega_i$ represents the direction of a light source, but it could also be the direction of a surfel reflecting light or some other light emitting/scattering element in space. $\omega_o$ often represent the direction of the viewpoint (camera/eye), but it could as well be the direction of a surfel or other point in space whose incident radiance we are interested in calculating.</p>

<p>While $\omega_o$ is valid for normal oriented hemisphere above the surface, there are differences in valid $\omega_i$ domain between BxDF's. Because BRDF defines the amount of reflected light $\omega_i$ is valid for the normal oriented hemisphere <strong>above</strong> the surface. On the other hand, BTDF defines the amount of light transmitted through the surface so $\omega_i$ is valid for the normal oriented hemisphere <strong>below</strong> the surface. BSDF is the sum of the two so $\omega_i$ is valid for the entire sphere.</p>

CC BY-SA 3.0
2017-05-22T01:01:42.507Z
2017-05-22T01:01:42.507Z
JarkkoL
<p>So Bidirectional essentially means "two directions", right? But <strong>what are these two direction</strong> (left-right? up-down? north-south?) we are talking about in regards to bidirectional reflectance distribution function (BRDF), bidirectional scattering distribution function (BSDF), or bidirectional transmittance distribution function (BTDF) in computer graphics?</p>

CC BY-SA 3.0
2017-05-21T16:37:01.117Z
It means their values depend on two directions (usually incoming and outgoing light). With a direction being a direction in 3-space, of course, not something like "up-down".
Christian Rau
<brdf>
What does "Bidirectional" in BRDF mean?
Kristoffer Helander
# What does "Bidirectional" in BRDF mean?

(Asked by: username_0 on 2017-05-21)

So Bidirectional essentially means "two directions", right? But **what are these two direction** (left-right? up-down? north-south?) we are talking about in regards to bidirectional reflectance distribution function (BRDF), bidirectional scattering distribution function (BSDF), or bidirectional transmittance distribution function (BTDF) in computer graphics?

**Tags:** brdf

> **Comments:**
> **username_1**: It means their values depend on two directions (usually incoming and outgoing light). With a direction being a direction in 3-space, of course, not something like "up-down".  

---

## 2 answers

### Answer by username_3 on 2017-05-22. Score: 9 | Accepted answer

In general the two directions in BxDF are incoming $\omega\_i$ and outgoing $\omega\_o$ radiance directions, often defined in [spherical coordinates](https://en.wikipedia.org/wiki/Spherical_coordinate_system) $[\theta, \phi]$ or as a 3D unit vector in [Cartesian coordinates](https://en.wikipedia.org/wiki/Cartesian_coordinate_system) $[x, y, z]$. The BxDF $f(\omega\_i, \omega\_o)$ defines how much of the incident radiance $L\_i$ from direction $\omega\_i$ hitting the surface is scattered towards direction $\omega\_o$. What $\omega\_i$ and $\omega\_o$ exactly represent depends on the context.

Often $\omega\_i$ represents the direction of a light source, but it could also be the direction of a surfel reflecting light or some other light emitting/scattering element in space. $\omega\_o$ often represent the direction of the viewpoint (camera/eye), but it could as well be the direction of a surfel or other point in space whose incident radiance we are interested in calculating.

While $\omega\_o$ is valid for normal oriented hemisphere above the surface, there are differences in valid $\omega\_i$ domain between BxDF's. Because BRDF defines the amount of reflected light $\omega\_i$ is valid for the normal oriented hemisphere **above** the surface. On the other hand, BTDF defines the amount of light transmitted through the surface so $\omega\_i$ is valid for the normal oriented hemisphere **below** the surface. BSDF is the sum of the two so $\omega\_i$ is valid for the entire sphere.


---

### Answer by username_2 on 2017-05-21. Score: 6

BRDFs are functions the define the distribution of the way light reflects off of a surface. They effectively answer the question, "given a light source here, how much light is reflected to me?" Well, that question has the two directions right there: the direction from the surface point to the light source, and the direction from the surface point to "me": the viewer.

BSDFs and BTDFs work in the same way, just asking slightly different questions. But the givens to those questions are the same: a light source and a viewer. And thus, they use the same directions.

> **Comments:**
> **username_0**: So the "two directions" are simply the incidence ray and the reflection/transmission ray? :)  

---

