Spherical harmonic lighting

From HandWiki
Revision as of 04:42, 10 March 2023 by AstroAI (talk | contribs) (link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Real-time rendering technique

Spherical harmonic (SH) lighting is a family of real-time rendering techniques that can produce highly realistic shading and shadowing with comparatively little overhead. All SH lighting techniques involve replacing parts of standard lighting equations with spherical functions that have been projected into frequency space using the spherical harmonics as a basis. To take a simple example, a cube map used for environment mapping might be reduced to just nine SH coefficients if preserving high-frequency detail is not a concern.[1]

More intriguing techniques use SH to encode multiple functions—usually the global lighting environment and a per-vertex radiance transfer function. The generalized lighting equation involves, among other things, integrating the product of the incoming radiance and the BRDF over a sphere—something that is far too expensive for real-time rendering. But if the two functions are projected into SH coefficients, the integral of their product over the sphere is just the dot product of the two SH coefficient vectors. Generating the per-vertex transfer functions and projecting them to SH space is still an expensive process, but evaluating them is almost trivial. More to the point, they can be evaluated correctly even if the lighting environment changes in intensity or orientation. Even the most complex ray-traced radiosity algorithm can be rendered in real-time with dynamically changing lighting.

SH lighting using preprocessed coefficients produces results that are beautiful but limited. Typically the lighting can change, or the lit mesh can be rotated, but the mesh can't be translated or deformed without requiring a new set of per-vertex coefficients. More recent techniques split the lighting equation into more parts and introduce techniques for updating SH components in real time or learn a transfer function which maps from shape deformations to updated per-vertex coefficients.[2]

Representing scene illumination using SH is increasingly popular in the field of neural rendering as the illumination in a scene can be predicted and manipulated using deep neural networks.

See also

References