Skip to content

Render Passes

In EntropyPortal, a “Render Pass” is an implementation detail of the RenderService, not necessarily a node in a high-level graph.

While a declarative RenderGraph class exists, the main rendering loop utilizes a more direct Job-Based approach. A “Pass” in this context refers to a specific GpuCommandBuffer recording session (e.g., “Render Shadow Cascade 0” or “Render Main Camera Opaque”).

The RenderService manually orchestrates these passes:

  1. Context Creation: A RenderContext is created for the pass, containing view matrices and resource pointers.
  2. Technique Execution: The ClusteredShadingTechnique (or others) is called to record the actual draw commands.
    // Inside a Job Lambda
    technique->renderScene(cmd, context);
  3. Resource Transitions: The system relies on precise manual or semi-automated barriers (via RenderPass helpers) to ensure resources like Shadow Maps describe the correct state (e.g., ShaderResource) before the Main Camera pass begins.

This “Hardcoded Phase, Dynamic Job” approach provides the performance of a hand-tuned renderer with the parallelism of a graph-based system.