simvx.graphics.renderer.render_pass

RenderPass base class and FrameContext — foundation for the render graph.

RenderPass is a concrete base class with no-op defaults (not abc.ABC) to avoid ABC construction overhead and clutter. Subclasses override what they need.

Module Contents

Classes

FrameContext

Per-frame state passed to render passes during record().

RenderPass

Base class for a single render pass. Subclasses override setup/record/resize/destroy.

Data

API

simvx.graphics.renderer.render_pass.__all__

[‘RenderPass’, ‘FrameContext’]

class simvx.graphics.renderer.render_pass.FrameContext[source]

Per-frame state passed to render passes during record().

Built once per frame by ForwardRenderer, then passed to every pass. Packs all per-frame state so passes don’t chain through engine attributes.

Initialization

__slots__

(‘frame_index’, ‘width’, ‘height’, ‘delta_time’, ‘camera_view’, ‘camera_proj’, ‘camera_pos’, ‘inv_vp…

class simvx.graphics.renderer.render_pass.RenderPass[source]

Base class for a single render pass. Subclasses override setup/record/resize/destroy.

Class attributes (override in subclasses): name: Unique identifier, e.g. “ssao”. stage: “pre_render” or “render” — controls which graph phase runs this pass. inputs: Resource names consumed, e.g. (“hdr_depth”,). outputs: Resource names produced, e.g. (“ao_texture”,).

__slots__

()

name: str = <Multiline-String>
stage: str

‘render’

inputs: tuple[str, ...]

()

outputs: tuple[str, ...]

()

enabled: bool

True

setup(ctx: simvx.graphics.renderer.render_context.RenderContext) None[source]

Initialise GPU resources. Called once at renderer setup time.

resize(width: int, height: int) None[source]

Recreate resolution-dependent resources.

record(cmd: Any, frame: simvx.graphics.renderer.render_pass.FrameContext) None[source]

Record GPU commands for this pass. Called every frame by the RenderGraph.

destroy() None[source]

Release all GPU resources.