OptionalpreviousOptional: world matrix from the previous frame, for per-object motion blur.
OptionalfadeOptional cross-fade alpha in [0,1]; 1 (or undefined) renders fully opaque. Below 1 the fragment is screen-door dithered (see geometry.wgsl) — used by 3D-tile LOD cross-fades to dissolve a finer tile in over its coarser parent.
OptionaldoubleOptional: render without back-face culling (cullMode 'none'). For glTF doubleSided
materials and mixed-winding content — e.g. Cesium terrain b3dm tiles, whose triangles
aren't consistently wound, so back-face culling drops ~half of them. Defaults to false
(cull back). Mirrors the per-draw double-sided support in ForwardPass.
OptionaltintOptional debug tint (linear RGB) mixed into this draw's G-buffer albedo, so a flat
color washes over the real material instead of replacing it (e.g. the Tile-LOD
overlay). Omitted / (0,0,0) = no tint. Packed into the model uniform's spare floats
(see geometry.wgsl model.fade.yzw); the lit result still shades normally.
OptionalexcludeOptional 8-bit light-exclusion mask written into the G-buffer (emissive.a).
A deferred point/spot/area light with a matching bit in its own excludeMask
skips this surface — (surface & light) != 0 → not lit. 0 (default) =
excluded from nothing. See MeshRenderer.lightExcludeMask.
One mesh instance to be drawn into the G-Buffer this frame.
normalMatrixis the inverse-transpose of the upper 3×3 ofmodelMatrix, stored as aMat4for uniform alignment.previousModelMatrixis only consumed byVelocityPasswhen motion blur runs in velocity-buffer mode. Omitting it (or setting it equal tomodelMatrix) yields zero per-object motion — i.e. the object appears static and the motion blur shader will fall back to camera-only reprojection.