Deletes the program. Live context only; idempotent.
Uploads the scene ambient term (§68).
Uploads the base colour, scaled by its opacity.
Optionalopacity: numberUploads the eye position the specular lobe needs.
Selects the albedo, metal-roughness, emissive, normal and occlusion map switches.
The last two were added with the S59 normalMap/occlusionMap WebGL work and
reached both StandardProgram and the renderer's draw loop, but not this
seam - so the renderer's five-argument call failed to compile against its
own contract (TS2554). Kept optional so an implementation that predates the
maps still satisfies the interface.
OptionaluseMetalRoughnessMap: booleanOptionaluseEmissiveMap: booleanOptionaluseNormalMap: booleanOptionaluseOcclusionMap: booleanUploads the glTF normal-scale and occlusion-strength factors.
Offset-encoded by the implementation so GL's zero-initialised uniforms are the glTF defaults; callers pass the material values directly.
OptionalnormalScale: numberOptionalocclusionStrength: numberUploads the frame's point and spot lights, or nothing (§68, R-17).
Switches the shadow comparison per draw (§49's receiveShadow).
Uploads the frame's shadow state, or nothing (§69, R-18).
Makes this the current program.
The surface the renderer's draw loop needs from §59's program —
StandardProgram's contract, structural so the renderer never names the class that implements it.