Expand description
Declarative render graph subsystem for the Proof Engine.
This module provides a frame-graph architecture where render passes are declared as nodes in a directed acyclic graph. Resource lifetimes are managed automatically, barriers are inserted between passes, and execution order is derived via topological sort.
§Architecture
graph— RenderGraph, RenderPass, ResourceNode, topological sort, cycle detection, conditional passes, multi-resolution, validation, graph merging, DOT export.resources— ResourceDescriptor, TransientResource, ResourcePool, aliasing, ImportedResource, version tracking, memory budgets.executor— GraphExecutor, PassContext, barrier insertion, GPU timing queries, triple-buffered frame timeline, async compute, execution statistics, hot-reload.passes— 12 built-in pass implementations for a full deferred rendering pipeline.
Re-exports§
pub use graph::DependencyKind;pub use graph::PassCondition;pub use graph::PassDependency;pub use graph::PassType;pub use graph::QueueAffinity;pub use graph::RenderGraph;pub use graph::RenderGraphBuilder;pub use graph::RenderPass;pub use graph::ResolutionScale;pub use graph::ResourceNode;pub use graph::ValidationResult;pub use graph::GraphConfig;pub use graph::PassConfig;pub use graph::ResourceConfig;pub use resources::DanglingKind;pub use resources::DanglingResource;pub use resources::ImportedResource;pub use resources::MemoryBudget;pub use resources::PoolFrameStats;pub use resources::ResourceDescriptor;pub use resources::ResourceHandle;pub use resources::ResourceLifetime;pub use resources::ResourcePool;pub use resources::ResourceTable;pub use resources::ResourceVersionChain;pub use resources::SizePolicy;pub use resources::TextureFormat;pub use resources::TransientResource;pub use resources::UsageFlags;pub use executor::AsyncComputeSchedule;pub use executor::BarrierKind;pub use executor::BoxedPassExecutor;pub use executor::ExecutionStats;pub use executor::FnPassExecutor;pub use executor::FramePacer;pub use executor::FrameState;pub use executor::FrameStatus;pub use executor::FrameTimeline;pub use executor::GraphExecutor;pub use executor::MultiGraphExecutor;pub use executor::PassBarrier;pub use executor::PassContext;pub use executor::PassExecutor;pub use executor::PassTimingQuery;pub use passes::BloomPass;pub use passes::BuiltinPass;pub use passes::DebugOverlayPass;pub use passes::DebugVisualization;pub use passes::DepthPrePass;pub use passes::DrawCall;pub use passes::DrawType;pub use passes::FXAAPass;pub use passes::FinalCompositePass;pub use passes::GBufferPass;pub use passes::LightingPass;pub use passes::SSAOPass;pub use passes::ShadowPass;pub use passes::SkyboxPass;pub use passes::ToneMapOperator;pub use passes::ToneMappingPass;pub use passes::TransparencyPass;pub use passes::WeightFunction;pub use passes::build_deferred_pipeline;
Modules§
- executor
- Graph execution engine: walks sorted passes, manages barriers, GPU timing, triple-buffered frame-in-flight management, async compute overlap detection, execution statistics, and hot-reload from config.
- graph
- Declarative render graph: named passes, resource nodes, dependency edges, topological sort, cycle detection, conditional passes, multi-resolution passes, validation, merging, and DOT export.
- passes
- Built-in render pass implementations for a deferred rendering pipeline.
- resources
- Automatic resource management for the render graph.