# Lecture 007

BRDF History:

• 1970: Phong model

• 1980: Physical based, microfacet model (Cook-Torrance)

• 1990: models with special effect (materials, weathering, dust)

• 2000: measurement, acquisition of static materials and lights

## Non-Physics-Based Model

Phong Model: just diffused reflection

Blinn-Phong BRDF: says that the normal isn't just surface normal. instead, the normal of a point depends on your viewing angle (due to microfacet)

Ward Model: Gaussian blur distribution over half vector slopes (Original version had issues with energy conservation and singularities; several modified variants exist)

Limitations:

• not physically-based

• do not necessarily preserve energy

• no Fresnel effects

• can't accurately model glossy surfaces

## Physically-Based Model

Torrance-Sparrow Model: originally used by physicist until Cook, Torrance, Blinn adapted for graphics. Assumes surface is composed of many micro-grooves, each of which is a perfect mirror.

• fresnel: material fresnel coefficient

• microfacet distribution: Fraction of microfacets facing each direction. PDF over projected solid angle.

There are many microfacet distributions:

• Beckmann Distribution: slope follow a Gaussian distribution. Slope of $\theta_h$ is $\tan \theta_h$

• The Blinn distribution: $D(\vec{w_h}) = \frac{e+2}{2\pi} (\vec{w_h} \cdot n)^e$

• GGX distribution: Walter et al., EGSR 2007

• Anisotropic distributions: PBRTv2, Ch. 8

Microfacets does not account for second bounce within microfacets itself, so there is energy loss with large angle.

The Oren-Nayar Model: assumes facets are diffuse, instead of perfect mirror.

Now, people use all sorts of equipments to get data-driven BRDFs

And they created MERL Database 2003

Sections 5.A-5.C of Eric Veach's thesis have a detailed discussion of the issues we discussed in today's recitation regarding measures, Dirac deltas, and the various ways to write out specular BSDFs. If you are interested, I encourage you to take a read: https://www.proquest.com/docview/304456010?pq-origsite=gscholar&fromopenview=true

Table of Content