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?

  • $\begingroup$ 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". $\endgroup$ – Christian Rau May 21 '17 at 16:37

In general the two directions in BxDF are incoming $\omega_i$ and outgoing $\omega_o$ radiance directions, often defined in spherical coordinates $[\theta, \phi]$ or as a 3D unit vector in Cartesian coordinates $[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.

  • $\begingroup$ Oow, thanks! That's a really nice explanation! :) $\endgroup$ – Kristoffer Helander May 22 '17 at 7:36

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.

  • 1
    $\begingroup$ So the "two directions" are simply the incidence ray and the reflection/transmission ray? :) $\endgroup$ – Kristoffer Helander May 21 '17 at 19:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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