Uploads the frame's hemisphere, or nothing at all — see the class header. Call once per viewport, beside the ambient upload.
StaticresolveLooks the four locations up on a linked program, throwing the §89
SHADER_COMPILATION_FAILED requireUniform throws if a driver
optimised one away.
One shaded pipeline's hemisphere uniforms: the four locations, and the CPU mirror that keeps a scene without a hemisphere emitting no GL call at all.
Shared by LitProgram,
gl-standard.ts'sStandardProgram, and the skinned lit program for the same reason PunctualLightUniforms is shared: the skip rule must not drift.#enabledstarts atfalse, which is what GL initializes abooluniform to. A frame whoseSceneLights.hasHemisphereLightisfalsewhile the mirror isfalsetherefore uploads nothing.