To find how much light is reflected by a surface, we divide the outgoing radiance by the incoming irradiance. Since irradiance is itself equal to the incoming radiance multiplied by the cosine of the incident angle and the differential solid angle, the second form is often more useful in rendering.
Legend
- - Bidirectional Reflectance Distribution Function.
- - Reflected (outgoing) radiance.
- - Incoming irradiance.
- - Incoming radiance.
- - Cosine term.
- - Differential solid angle.
A perfectly diffuse surface has the same BRDF regardless of direction, while glossy or metallic materials produce much larger values around their preferred reflection directions. . For a given incoming ray, the surface may absorb some energy, reflect the ray in some direction or transmit it through the material (transmission is not handled by the BRDF). The rendering equation multiplies the incoming radiance by the BRDF because not every incoming photon contributes equally to what the viewer ultimately sees.
any physically realistic brdf will have these properties:
the reflected light is positive
A BRDF cannot reflect more light than it receives,
Swapping the incoming and outgoing directions should not change the BRDF.
Diffuse:
Glossy:
Mirror:

Comments0
Nothing here yet. Select any part of the page to quote it, or just start writing.
Add a comment
Comments are files in the repository. Writing one here opens a pull request against float3/float3.github.io, and it appears on the page once that is merged
the issue this will open
Fork it first. Automatically forking the Repo on edit does not currently work (known issue according to support) and produces 'unknown error'.