Foundation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Foundation::RenderCore::RenderPass Class Referenceabstract

Interface for a render pass. More...

#include <RenderPass.hpp>

Inheritance diagram for Foundation::RenderCore::RenderPass:
Foundation::RHI::RHIObject Foundation::RenderCore::LambdaPass< FSetup, FRecord, FSkip >

Public Member Functions

 RenderPass ()=default
 Constructor. You may also create resources here for early setup. However, access declaration must be done in Setup().
 
virtual void Setup (PassHandle self, Renderer *r)=0
 Perform any setup required for this pass. This may include creating resources, declaring resource accesses, etc.
 
virtual void Record (PassHandle self, Renderer *r, RHI::RHICommandList *cmd)=0
 Record the commands of this pass into the given command list.
 
virtual bool IsSkipped (PassHandle self, Renderer *r) const
 Determine whether this pass should be skipped during Record time.
 
- Public Member Functions inherited from Foundation::RHI::RHIObject
 RHIObject ()=default
 
 RHIObject (RHIObject const &)=delete
 
RHIObjectoperator= (const RHIObject &)=delete
 
 RHIObject (RHIObject &&)=delete
 
RHIObjectoperator= (RHIObject &&)=delete
 
virtual ~RHIObject ()=default
 

Detailed Description

Interface for a render pass.

Constructor & Destructor Documentation

◆ RenderPass()

Foundation::RenderCore::RenderPass::RenderPass ( )
default

Constructor. You may also create resources here for early setup. However, access declaration must be done in Setup().

Member Function Documentation

◆ IsSkipped()

virtual bool Foundation::RenderCore::RenderPass::IsSkipped ( PassHandle  self,
Renderer r 
) const
inlinevirtual

Determine whether this pass should be skipped during Record time.

Returns
Whether this pass should be skipped during execution.

This is only executed after EndSetup() has been called, and when the render graph is actually executed.

Note
This is always called from the main (renderer's) thread.

Reimplemented in Foundation::RenderCore::LambdaPass< FSetup, FRecord, FSkip >.

◆ Record()

virtual void Foundation::RenderCore::RenderPass::Record ( PassHandle  self,
Renderer r,
RHI::RHICommandList cmd 
)
pure virtual

Record the commands of this pass into the given command list.

This is only executed after EndSetup() has been called, and when the render graph is actually executed.

Note
This may be called from multiple threads concurrently, and thus should ensure thread safety if accessing shared data.

Implemented in Foundation::RenderCore::LambdaPass< FSetup, FRecord, FSkip >.

◆ Setup()

virtual void Foundation::RenderCore::RenderPass::Setup ( PassHandle  self,
Renderer r 
)
pure virtual

Perform any setup required for this pass. This may include creating resources, declaring resource accesses, etc.

Note
This is only executed during the Setup phase of the render graph, and is always called from the main (renderer's) thread.

Implemented in Foundation::RenderCore::LambdaPass< FSetup, FRecord, FSkip >.


The documentation for this class was generated from the following file: