Releases depth targets, color buffers, lights storage buffers, and cascades destruction to subsystems.
Computes and submits the complete rendering pass commands for the active frame. Groups meshes into instanced batches, executes shadow passes, resolves global variables, draws PBR base passes, runs secondary overlay passes (outline shaders), and draws fullscreen FXAA quads.
Source Scene node hierarchy.
Active viewport camera.
Performance statistics recorder.
Delta time in seconds since the last frame.
Re-allocates presentation targets (depth textures, intermediate color buffers) to match updated canvas sizes.
Extracts light properties and updates the GPU storage buffers.
Current list of active lights in the scene.
ReadonlybloomBloom post-processing system.
Parent context reference.
Accumulated rendering time in seconds. Driving shader animations.
Flag indicating if global uniform matrices or light properties changed, requiring bind group re-creation.
Uniform buffer containing FXAA configuration flags and accumulated frame time.
float32 render settings array. [0] = FXAA enable flag, [1] = elapsed seconds, [4..7] = sky color, [8..11] = ground color.
uint32 render settings array mapping the float array buffer directly.
Renderer coordinates the forward rendering pipeline. It manages core presentation textures (depth attachments, HDR color buffers), aggregates and uploads light properties to storage buffers, compiles global viewport/ambient uniform bind groups, drives instanced drawing via
BatchManager, runs directional shadow map passes viaShadowSystem, supports multi-pass overlays (using the.nextPassmaterial feature), and applies fullscreen post-processing FXAA filters.