verve.gl — Area Light (LTC)

Slice 3 capstone: ONE rectangular AREA light hovers overhead, facing straight down at the model and floor. Real area lights have finite size, so instead of a single hard highlight they produce a soft diffuse spread and a specular reflection STRETCHED into the shape of the rectangle. Verve evaluates this with Linearly Transformed Cosines (LTC, Heitz 2016): a pair of small lookup tables (fetched as /gl/ltc.bin) transform a cosine distribution into the rect's clipped solid angle, giving physically-based area lighting in one shader pass. The rect also casts a SOFT area shadow — rendered as a perspective caster into the 2D shadow atlas — whose penumbra widens with distance from the receiver. Both WebGL2 and WebGPU backends.

Drag to orbit · wheel to zoom · Freeze pins the orbit. Look for soft, even lighting on the top faces, a specular highlight that stretches to match the rectangle, and a soft-edged shadow under the cube on the floor.