RenderPipeline

class in Infernux.renderstack

Description

Base class for scriptable render pipelines.

The minimal subclass only needs define_topology() and optionally render_camera() for per-camera custom logic.

Exposable parameters: Use class-level attributes (plain values or serialized_field()) just like InxComponent::

    class MyPipeline(RenderPipeline):
        shadow_resolution: int = serialized_field(default=2048, range=(256, 8192))
        enable_ssao: bool = True

Example::

class MyPipeline(RenderPipeline):
    name = "My Pipeline"

    def define_topology(self, graph):
        graph.create_texture("color", camera_target=True)
        graph.create_texture("depth", format=Format.D32_SFLOAT)
        with graph.add_pass("OpaquePass") as p:
            p.write_color("color")
            p.write_depth("depth")
            p.draw_renderers(queue_range=(0, 2500))
        graph.set_output("color")

description

Constructors

Signature Description
RenderPipeline.__init__() → None

constructors

Properties

Name Type Description
name str Display name for Editor UI and pipeline discovery. (read-only)

properties

Public Methods

Method Description
render(context: Any, cameras: Any) → None Render all cameras.
should_render_camera(camera: Any) → bool Decide whether camera should be rendered this frame.
render_camera(context: Any, camera: Any, culling: Any) → None Per-camera render hook.
define_topology(graph: RenderGraph) → None Define the rendering topology on graph.
dispose() → None Override to release resources when the pipeline is replaced.

public_methods

Example

example

# TODO: Add example for RenderPipeline

See Also

see_also