Protected_Protected_Protected_Protected_The clear color of the renderer.
Protected_Protected_This frame's camera near/far and raw projection matrix, stashed here so flushPostProcess()
(called later, from a pass with no camera parameters of its own) can hand them to HBAO for
reconstructing view-space position from the opaque depth buffer. _frameProjMatrix is also
handed to WebGLRenderPass.execute() as an explicit parameter every frame (see below) for
WebGLClusterCullPass, rather than being a public field passes reach for directly.
Protected_Protected_Protected_Protected_Cached light data to avoid GC pressure.
Protected_Protected_Protected_Protected_Global quality settings.
Protected_ProtecteddefaultProtecteddefaultProtecteddefaultProtecteddefaultProtectedglThe global post processing volume/group.
ReadonlytypeThe type of the renderer.
Gets the clear color of the renderer.
Gets the global quality settings of the renderer.
Captures the opaque depth buffer into a sampleable DEPTH24_STENCIL8 texture, for
underwater/refraction depth-fade effects (e.g. OpenWaterMaterial). Only possible while
an HDR FBO is active: _hdrFbo's depth/stencil renderbuffer has a known, fixed format
(DEPTH24_STENCIL8), which blitFramebuffer requires to match the capture texture's
format exactly. Without post-processing (rendering straight to the default framebuffer),
the actual depth/stencil format is implementation-defined, so capture is skipped -- water
materials fall back to their non-depth (Fresnel-based) blending in that case.
ProtectedcreateDestroys the renderer and releases its resources.
Extracts all lights from the scene for rendering.
The scene to extract lights from.
An object containing all extracted light data.
ProtectedinitInitializes the renderer.
Optionalattributes: Record<string, unknown>Optionalconfig: EngineOptionsProtectedreleaseReleases the GPU geometry buffer, compiled program, and textures this object was referencing, for whichever of those its refCount drops to zero. Called once per removed object per frame; implemented per-renderer since these caches are renderer-specific (each renderer has its own GL context).
Renders shadow maps for all shadow-casting lights.
Sets the active render target for off-screen rendering. If null, the renderer targets the screen/post-processing buffer.
The target to render into.
OptionalactiveCubeFace: number
Optional. Which face (0-5) of the RenderTargetCube to render into.
Sets the size of the render viewport.
Stages the clustered light culling grid metadata into the (not-yet-uploaded) global UBO --
see docs/adr/0007-clustered-lighting-webgl2-webgpu-only.md. Actual GPU upload happens via
updateGlobalUBO()'s trailing _globalUBO.update(), called right after this in the same
frame (WebGLClusterCullPass runs before WebGLShadowPass in _passes).
Screen-space tile size in pixels, [width, height].
WebGL 2.0 implementation of the renderer.