Luna::RG::IRenderGraph
Represents one render graph that can be used to schedule render passes and reuse in-frame transient render resources to reduce memory comsumption.
interface Luna::RG::IRenderGraph : public virtual Interface
Base type
Member functions
-
virtual RHI::IDevice * get_device()=0
Gets the RHI device attached to this render graph.
-
virtual const RenderGraphDesc & get_desc()=0
Gets the descriptor of this render graph.
-
virtual void set_desc(const RenderGraphDesc &desc)=0
Sets the descriptor of this render graph.
-
virtual RV compile(const RenderGraphCompileConfig &config)=0
Compiles the render graph.
-
virtual void get_enabled_render_passes(Vector< usize > &render_passes)=0
Gets all enabled render passes.
-
virtual IRenderPass * get_render_pass(usize index)=0
Gets the render pass object of the specified render pass.
-
virtual void set_external_resource(usize index, RHI::IResource *resource)=0
Sets external resource.
-
virtual RV execute(RHI::ICommandBuffer *cmdbuf)=0
Executes the render graph.
-
virtual RHI::IResource * get_persistent_resource(usize index)=0
Gets one persistent resource.
-
virtual RV get_pass_time_intervals(Vector< u64 > &pass_times)=0
Gets the time used for every active render pass.