Chapter Nine Materials

The low-level BRDFs and BTDFs introduced in the previous chapter address only part of the problem of describing how a surface scatters light. Although they describe how light is scattered at a particular point on a surface, the renderer needs to determine which BRDFs and BTDFs to use at that point and how to set their parameters. In this chapter, we describe a procedural shading mechanism that determines the BRDFs and BTDFs to use at points on surfaces.

The basic idea is that a surface shader is bound to each primitive in the scene. The surface shader is represented by an instance of the Material interface class, which has a method that takes a point to be shaded and returns a BSDF object. The BSDF class holds a set of ...

Get Physically Based Rendering, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.