"""Ordered render-pass execution (no dependency resolution)."""
from __future__ import annotations
from typing import TYPE_CHECKING
from picogl.backend.render.pass_ import RenderPass
if TYPE_CHECKING:
from picogl.backend.gl.backend import GLBackend
[docs]
class RenderPipeline:
"""Execute render passes in registration order."""
def __init__(self):
[docs]
self.passes: list[RenderPass] = []
[docs]
def add(self, render_pass: RenderPass) -> None:
self.passes.append(render_pass)
[docs]
def execute(self, backend: "GLBackend") -> None:
for render_pass in self.passes:
render_pass.execute(backend)