simvx.graphics.renderer.overlay_renderer

Overlay rendering: debug lines, text, and particles.

Module Contents

Classes

OverlayRenderer

Handles rendering of overlays: debug lines, text, and particles.

Data

API

simvx.graphics.renderer.overlay_renderer.__all__

[‘OverlayRenderer’]

simvx.graphics.renderer.overlay_renderer.log

‘getLogger(…)’

class simvx.graphics.renderer.overlay_renderer.OverlayRenderer(renderer: simvx.graphics.renderer.forward.Renderer)

Handles rendering of overlays: debug lines, text, and particles.

Initialization

dispatch_gpu_particles(cmd: Any) None

Dispatch compute shaders for GPU particle simulation (outside render pass).

Each (emitter_id, cfg) submission maps to a persistent per-emitter SSBO owned by :class:ParticleCompute (matches the web GPUParticlePass model). Emitters that no longer appear in the scene tree are pruned after the dispatch loop so their GPU resources are released.

Once the compute pass exists this runs on every frame, including frames with no submission at all: the prune is what hands a departed emitter’s buffer and pools to the engine’s retire queue, and the frame after the last emitter leaves carries no submission to hang it off. Only the dispatch loop itself is skipped when nothing submitted.

render_particles(cmd: Any, extent: tuple[int, int]) None

Render all submitted particle systems.

render_debug_lines(cmd: Any, extent: tuple[int, int]) None

Render debug wireframe lines if any were submitted.