simvx.graphics.renderer.pass_orchestrator¶
PassOrchestrator — owns the forward renderer’s pass lifecycle.
Extracted from Renderer so the 13 render-pass subsystems (shadow, point-shadow, particle, GPU-particle-compute, tilemap, light2d, text, draw2d, post-process, custom post-process, grid, gizmo, SSAO, fog, skybox) live in one place with unified setup / resize / cleanup.
Renderer still owns frame-level orchestration (pre_render, render)
and calls into the orchestrator’s render_overlays for the 2D overlay
pass after tonemap.
Module Contents¶
Classes¶
Owns the lifecycle of every render pass used by the forward renderer. |
Data¶
API¶
- simvx.graphics.renderer.pass_orchestrator.__all__¶
[‘PassOrchestrator’]
- simvx.graphics.renderer.pass_orchestrator.log¶
‘getLogger(…)’
- class simvx.graphics.renderer.pass_orchestrator.PassOrchestrator(engine: Any)[source]¶
Owns the lifecycle of every render pass used by the forward renderer.
Initialization
- setup(ssbo_layout: Any, pipelines: simvx.graphics.renderer.pipeline_manager.PipelineManager) None[source]¶
Create and initialise every pass.
Order is load-bearing:
Grid, shadow, point-shadow, particles, tilemap, light2d come first and are independent.
TextPass → Draw2DPass (Draw2D shares TextPass’s atlas/pipeline).
PostProcess / CustomPostProcess.
Once post-process has built the HDR target,
pipelinesis rebuilt against the HDR render pass so 3D draws inside that pass match the HDR format.Gizmo, SSAO, Fog — SSAO/Fog need the HDR depth views.
- set_skybox(cubemap_view: Any, cubemap_sampler: Any, buffers: simvx.graphics.renderer.buffer_manager.BufferManager, cubemap_image: Any = None, cubemap_memory: Any = None) None[source]¶
Set a cubemap as the skybox and enable IBL.
Takes ownership of
cubemap_image/cubemap_memorywhen provided so they can be destroyed at shutdown.
- resize(width: int, height: int) None[source]¶
Resize passes that track the framebuffer size. Returns the render pass that 3D pipelines should be compiled against after resize.