Introduction

When we think about global illumination, the appearance of the natural world is largely dominated by a large variety of different materials, and the interaction of light with those different materials. The study of appearances (e.g. appearance modeling) often goes through the study of all of these different kinds of effects.

What is "material" in computer graphics? Typically, we have a 3D model, and we can render it to yield a picture with the same geometry, but different appearances (using different materials).

What is "material" in computer graphics? Typically, we have a 3D model, and we can render it to yield a picture with the same geometry, but different appearances (using different materials).

Let's start with the core part of graphics in how materials are handled in graphics - the BRDF (Bidirectional Reflectance Distribution Function).

Here's an example of a diffuse material - a matte object that uniformly reflects incoming light.

Here's an example of a diffuse material - a matte object that uniformly reflects incoming light.

Here's a glossy material - light comes in and is scattered in a lobe.

Here's a glossy material - light comes in and is scattered in a lobe.

Here's a refractive/reflective material - we see one incoming ray & two outgoing rays.

Here's a refractive/reflective material - we see one incoming ray & two outgoing rays.

Perfect specular reflection refers to perfect mirrors.

Perfect specular reflection refers to perfect mirrors.


Reflection & Refraction

In order to implement perfect specular reflection (e.g. mirrors), here's the geometry. Here, we have some incoming light & outgoing light direction, and the angles to the normal are equal. We can use the equations (which use the normal vector) to compute the outgoing direction given the incoming direction & normal vector.

In order to implement perfect specular reflection (e.g. mirrors), here's the geometry. Here, we have some incoming light & outgoing light direction, and the angles to the normal are equal. We can use the equations (which use the normal vector) to compute the outgoing direction given the incoming direction & normal vector.


For specular refraction, the light will bend when it enters a new medium.

For specular refraction, the light will bend when it enters a new medium.

We use Snell's Law to perform refraction calculations.

We use Snell's Law to perform refraction calculations.

This is something that we might need to implement, if we're given an incoming direction & hit point and need to calculate the transmission through a surface. We can put this logic in our path tracer to simulate water, glass, and other materials!

This is something that we might need to implement, if we're given an incoming direction & hit point and need to calculate the transmission through a surface. We can put this logic in our path tracer to simulate water, glass, and other materials!

If you go into a swimming pool and look up at the surface of the water, you'll see that the whole hemisphere of light coming from the world will bend in to your point of view, and even rays of light that come originally from points parallel to the surface of the water (e.g. deck) will refract in at a maximum angle (97.2°) to your viewpoint. This is sometimes called Snell's Window/Circle.

If you go into a swimming pool and look up at the surface of the water, you'll see that the whole hemisphere of light coming from the world will bend in to your point of view, and even rays of light that come originally from points parallel to the surface of the water (e.g. deck) will refract in at a maximum angle (97.2°) to your viewpoint. This is sometimes called Snell's Window/Circle.

Microfacet Materials

So far, we've talked about reflection and refraction. Now, let's look at a very powerful and important set of ideas with respect to generalized reflection off of rough surfaces, where rough might mean in a bumpy sense, or coarse/diffuse-light material. These all fall under the category of Microfacet Material Models.

The surface of water, if it's smooth, will reflect light in a mirror sense. If the curvature is flat, one might expect to see the sun appear as a disk in the middle of the ocean, and of course we don't see that. We see, instead, a big glow of light over a large portion of the surface.

The surface of water, if it's smooth, will reflect light in a mirror sense. If the curvature is flat, one might expect to see the sun appear as a disk in the middle of the ocean, and of course we don't see that. We see, instead, a big glow of light over a large portion of the surface.

Let's take a closer look at this and try to think about what's occurring here on a micro scale. This is Microfacet Theory, which can lead us to deriving a BRDF that helps us design physically realistic models of this reflection.

If you look at any surface and consider its micro-surface scale, it's like a bumpy height field, and every point on the surface contains a surface normal. When we zoom out (to space, for example), all of the micro facets (e.g. waves) aren't visible; we only see the macro surface (e.g. curvature of ocean), and from our viewpoint, we only see one "averaged" surface normal pointing up to space.