65
$\begingroup$

The term "BSDF" is common in Cycles shaders such as "Diffuse BSDF" and "Glass BSDF" but is not present in all names ("Emission" and "Mix Shader" are two such examples).

What exactly is a BSDF?

$\endgroup$
92
$\begingroup$

BSDF stands for bidirectional scattering distribution function.

Essentially, it's a mathematical function that determines the probability that a specific ray of light will be reflected (scattered) at a given angle.

Cycles is a probabilistic ray-tracing engine. It incorporates randomness by tracing the paths of rays of light at slightly different angles. The number of rays per pixel is determined by the sample count; more samples means a more accurate image. Each time a ray bounces, the BSDF determines in which direction the ray will bounce.

Some shaders, like "Emission," don't have the suffix BSDF because they don't reflect light. Emission shaders, as the name implies, emit light, while Mix Shaders simply take the weighted average of the BSDF of two different shaders, with the weight determined by the Factor input.

You may also notice that the Subsurface Scattering shader output is called a "BSSRDF." Similarly, this is a bidirectional surface scattering reflectance distribution function, because SSS materials don't simply reflect light; they absorb it and then reflect it later:

BSDF vs BSSRDF

(images from Wikipedia, created by User:Jurohi)

In short, the suffix BSDF means that the shader will scatter light. The type of shader determines the distribution function, which in turn determines how the light is scattered and how the material appears.

$\endgroup$
  • 1
    $\begingroup$ +1 for a great explanation (for both BSDF and BSSRDF) and the diagrams. $\endgroup$ – CharlesL Jun 9 '13 at 22:48
  • $\begingroup$ To be clear those aren't my diagrams; they're from Wikipedia. I'll edit that in explicitly. $\endgroup$ – wchargin Jun 9 '13 at 23:03
  • 1
    $\begingroup$ Yeah, that's fine. It's still a really good answer. $\endgroup$ – CharlesL Jun 9 '13 at 23:10

protected by David Aug 26 '15 at 3:07

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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