Render Passes
In EntropyPortal, a “Render Pass” is an implementation detail of the RenderService, not necessarily a node in a high-level graph.
The Pass Concept
Section titled “The Pass Concept”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”).
Usage in Frame Graph
Section titled “Usage in Frame Graph”The RenderService manually orchestrates these passes:
- Context Creation: A
RenderContextis created for the pass, containing view matrices and resource pointers. - Technique Execution: The
ClusteredShadingTechnique(or others) is called to record the actual draw commands.// Inside a Job Lambdatechnique->renderScene(cmd, context); - Resource Transitions: The system relies on precise manual or semi-automated barriers (via
RenderPasshelpers) 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.