OptionaliblOptionaldirectionalWhen omitted the feature reads the first DirectionalLight
on a root GameObject each frame. Pass a renderer-level light here to
override (e.g. for samples that don't use the GameObject lighting system).
OptionalpointRenderer-level point lights to forward to ForwardPass.updateLights.
OptionalspotRenderer-level spot lights to forward to ForwardPass.updateLights.
OptionalareaRepresentative-point area lights (sphere / tube / rect).
OptionalskinnedOptional skinned-mesh draws. The engine doesn't bucket SkinnedMeshes from the scene graph yet, so callers wire them in directly. Items are GPU-skinned in the vertex shader and shaded with the same forward PBR lighting as un-skinned meshes.
OptionaluseWhen true, the diffuse IBL term is read from order-3 spherical-harmonic
coefficients (IblTextures.shBuffer) instead of the irradiance cube — the
IBL_DIFFUSE_SH shader variant. Set at construction (it selects the
pipeline + bind-group layout); default false keeps the irradiance cube.
OptionalareaWhen true, rect area lights are shaded with reference-quality Linearly Transformed Cosines (Heitz et al. 2016) instead of the table-free representative-point approximation — the specular highlight becomes the correctly-shaped reflection of the light quad at any roughness, with a correct diffuse form factor. Sphere/tube area lights are unaffected.
Opt-in (default false): it adds two small vendored fit tables + a sampler to
the lighting bind group and uploads them once. Set at construction (it
selects the pipeline + bind-group layout). Note the LTC rect interprets
intensity as panel radiance (no inverse-square falloff) and honors
AreaLight.twoSided. See TODO/ltc-area-lights.md.
IBL texture set for ambient + specular indirect lighting.