Analytical surface lighting

LTC Light Studio

Continuous light. Finite computation.
Polygon integration, fitted materials, and the cost of approximation.

Fitted GGX LTC · WebGPU flagship

The material garage

Normal-mapped paint, blended materials and a separate clearcoat lobe under polygon lights. Compare fitted GGX LTC with BSDF Monte Carlo, then inspect each layer.

Compare Preparing
Fitted GGX LTC

Compare the diffuse, GGX base and clearcoat integrals. Glass, film and ambient fill are shared.

THE IDEA IN THREE STEPSIntegrate a simpler shape. Keep the material.− / +
01

A light fills an angle.

Every surface point receives a continuum of incoming directions. Diffuse lighting integrates a cosine over that spherical polygon.

Lo = ∫Ω Le fr cos θ dω
02

The fit changes coordinates.

A matrix warps a cosine lobe to approximate GGX. Roughness and view angle select a fit from the published 64² tables.

light polygon → M⁻¹ polygon
03

The boundary does the work.

The transformed polygon is evaluated along its edges. Monte Carlo samples the original direct-light model: differences expose fitting error and sampling noise.

surface integral → finite edge sum

Garage comparison: diffuse + GGX base + dielectric coat. Glass, film and ambient fill remain shared. Both direct surface estimators use unoccluded emitters. The optional numerical volume is shared.

Heitz et al. · SIGGRAPH 2016 ↗
From an integral to a boundary
M⁻¹light directionscosine domain
  1. Integrate the cosine. For an unoccluded polygon emitter, diffuse irradiance reduces to its spherical boundary.
  2. Fit the glossy lobe. The garage reads published GGX LTC matrix/amplitude tables, transforms the polygon, and evaluates it deterministically.
  3. Account for visibility. Unoccluded emitters keep the two estimators comparable. A retained experimental polygon-clipping path covers only aligned rectangular blockers.
E=Le2∑iθi·(n·êi)
θᵢ = atan2(‖uᵢ × uᵢ₊₁‖, uᵢ · uᵢ₊₁)êᵢ = normalized edge cross productuᵢ: unit light directions, clipped above the horizon

This exact diffuse identity motivates LTC. The implemented GGX fit, edge approximation and horizon treatment are approximate; anisotropy is a heuristic extension. Runtime light integration is sample-free, not the entire image pipeline.

Heitz et al. · SIGGRAPH 2016 ↗