Real-Time Polygonal-Light Shading with Linearly Transformed Cosines
Eric Heitz, Jonathan Dupuy, Stephen Hill and David Neubelt
ACM SIGGRAPH 2016
Shading with area lights adds a great deal of realism to CG renders. However, it requires solving spherical equations that make it challenging for real-time rendering. In this project, we develop a new spherical distribution that allows us to shade physically based materials with polygonal lights in real-time.
Why is polygonal-light shading complicated?
Shading with polygonal lights requires integrating the BRDF over the polygonal domain covered by the light.
Despite polygonal lights being theoretically one of the simplest lighting models, they are challenging in real-time rendering for two main reasons:
- Problem 1: Integrating parametric spherical distributions over spherical
polygons is difficult in general, even with the simplest distributions.
- Problem 2: State-of-the-art physically based material models are not simple distributions; they have sophisticated shapes with anisotropic stretching and skewness that need to be represented for the material to appear realistic.
Linearly Transformed Cosines
To overcome these problems, we introduce Linearly Transformed Cosines (LTCs), a new kind of spherical distribution that covers a wide variety of spherical shapes and can be analytically integrated over arbitrary polygons.
Our idea is to start from a simple clamped cosine distribution and apply a linear transformation to its direction vectors. This allows for controlling the properties of the shape of the distribution, such as roughness, anisotropy, and skewness.
|cosine (base shape)|
Thanks to the variety of spherical shapes they cover, Linearly Transformed Cosines can closely approximate physically based BRDFs. Below is an example of how a GGX BRDF (left) can be approximated with a LTC (right) for varying incident directions.
Of course, the approximation is not perfect, but it efficiently recovers the main features of the BRDF for different roughness and incidence configurations.
Thanks to their linear invariant properties, integrating a LTC over a polygon is equivalent to integrating the original clamped cosine distribution over the polygon transformed by the inverse linear transformation: it is just the irradiance (form factor) of the transformed polygon for which a closed form expression is available!
|LTC-polygon integral||..equivalent to..||cosine-polygon integral|
With the same idea, we can use any spherical distribution as a base shape to create a new family of spherical distributions with parametric roughness, elliptic anisotropy and skewness. If the original distribution has an analytic expression, normalization, integration over spherical polygons, and importance sampling, then these properties are inherited by the linearly transformed distributions.
- supplemental: MATLAB
- supplemental: plots and validation
- supplemental: comparison against Technicolor’s technique
- Demo (executable + code)
- WebGL Demo
- BRDF fitting code