CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::RenderTask Class Referenceabstract

#include <CeresEngine/Renderer/RenderGraph/RenderTask.hpp>

Inheritance diagram for CeresEngine::RenderTask:
CeresEngine::RefCounted< RenderTask > CeresEngine::ComputeRenderTask CeresEngine::GraphicsRenderTask CeresEngine::PresentRenderTask CeresEngine::SimpleComputeRenderTask CeresEngine::SimpleGraphicsRenderTask CeresEngine::SimpleGraphicsRenderTask2 CeresEngine::VoxelConeTracing::InjectRadianceRenderTask CeresEngine::VoxelConeTracing::PropagateRadianceRenderTask CeresEngine::Graphics::UI::UIRenderTask CeresEngine::IBLAmbientLightingRenderTask CeresEngine::SkyboxRenderTask CeresEngine::UnshadedRenderTask CeresEngine::VoxelConeTracing::DebugRenderTask CeresEngine::VoxelConeTracing::IndirectLightingRenderTask CeresEngine::VoxelConeTracing::UpscalingRenderTask CeresEngine::VoxelConeTracing::VoxelizationRenderTask CeresEngine::BasePassRenderTask CeresEngine::BasePassTerrainRenderTask CeresEngine::DepthPrePassRenderTask CeresEngine::FinalCompositingRenderTask CeresEngine::PBRDeferredLightingRenderTask

Public Member Functions

 RenderTask (RenderGraph &renderGraph)
 
virtual ~RenderTask ()
 
RenderTaskResourceUsagecompile ()
 Compiles the render task.
 
virtual void execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer)=0
 Executes the render task with the given commandBuffer.
 
virtual StringView getName () const
 Returns a display name for the render task.
 
virtual RenderTaskStatus check () const
 Returns true if the task is dirty and needs to be run.
 
virtual Any getSettings () const
 Gets a const-reference to the render task settings.
 
virtual Any getSettings ()
 Gets a reference to the render task settings.
 
const Vector< InputSlot * > & getInputs () const
 
const Vector< OutputSlot * > & getOutputs () const
 
const RenderTaskResourceUsagegetResourceUsage () const
 
- Public Member Functions inherited from CeresEngine::RefCounted< RenderTask >
 RefCounted (Args &&... args)
 Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it.
 
void retain () noexcept
 Retains the object by increment it's reference count by one.
 
bool release () noexcept
 Relases the object by decrementing it's reference count by one.
 

Protected Member Functions

virtual void compile (RenderTaskCompiler &compiler)=0
 Compiles the render task.
 
virtual bool shouldConnect (const Slot &slot, const Slot &targetSlot) const
 An internal method called whenever a new connection is being made.
 
virtual void willConnect (Slot &slot, Slot &targetSlot)
 An internal method called before the slot is connected.
 
virtual void didConnect (Slot &slot, Connection &connection)
 An internal method called after the slot is connected.
 
virtual bool shouldDisconnect (const Slot &slot, const Connection &connection) const
 An internal method called whenever a new disconnection is being made.
 
virtual void willDisconnect (Slot &slot, Connection &connection)
 An internal method called before the slot is disconnected.
 
virtual void didDisconnect (Slot &slot, Connection &connection)
 An internal method called whenever the slot is disconnected.
 
ImageRenderResourcecreate (const GPUImageDescriptor &descriptor)
 
BufferRenderResourcecreate (const GPUBufferDescriptor &descriptor)
 

Protected Attributes

RenderTaskResourceUsage mResourceUsage
 

Private Attributes

RenderGraphmRenderGraph
 
Vector< InputSlot * > mInputs
 
Vector< OutputSlot * > mOutputs
 

Friends

class RenderGraph
 
class Slot
 
class InputSlot
 
class OutputSlot
 

Constructor & Destructor Documentation

◆ RenderTask()

CeresEngine::RenderTask::RenderTask ( RenderGraph renderGraph)
inlineexplicit

◆ ~RenderTask()

virtual CeresEngine::RenderTask::~RenderTask ( )
virtual

Member Function Documentation

◆ check()

virtual RenderTaskStatus CeresEngine::RenderTask::check ( ) const
inlinevirtual

Returns true if the task is dirty and needs to be run.

◆ compile() [1/2]

RenderTaskResourceUsage & CeresEngine::RenderTask::compile ( )

Compiles the render task.

◆ compile() [2/2]

◆ create() [1/2]

BufferRenderResource & CeresEngine::RenderTask::create ( const GPUBufferDescriptor descriptor)
protected

◆ create() [2/2]

ImageRenderResource & CeresEngine::RenderTask::create ( const GPUImageDescriptor descriptor)
protected

◆ didConnect()

virtual void CeresEngine::RenderTask::didConnect ( Slot slot,
Connection connection 
)
protectedvirtual

An internal method called after the slot is connected.

◆ didDisconnect()

virtual void CeresEngine::RenderTask::didDisconnect ( Slot slot,
Connection connection 
)
protectedvirtual

An internal method called whenever the slot is disconnected.

◆ execute()

◆ getInputs()

const Vector< InputSlot * > & CeresEngine::RenderTask::getInputs ( ) const
inline

◆ getName()

virtual StringView CeresEngine::RenderTask::getName ( ) const
inlinevirtual

◆ getOutputs()

const Vector< OutputSlot * > & CeresEngine::RenderTask::getOutputs ( ) const
inline

◆ getResourceUsage()

const RenderTaskResourceUsage & CeresEngine::RenderTask::getResourceUsage ( ) const
inline

◆ getSettings() [1/2]

virtual Any CeresEngine::RenderTask::getSettings ( )
inlinevirtual

Gets a reference to the render task settings.

◆ getSettings() [2/2]

virtual Any CeresEngine::RenderTask::getSettings ( ) const
inlinevirtual

Gets a const-reference to the render task settings.

◆ shouldConnect()

virtual bool CeresEngine::RenderTask::shouldConnect ( const Slot slot,
const Slot targetSlot 
) const
inlineprotectedvirtual

An internal method called whenever a new connection is being made.

The slot implementation can use this method to refuse connections.

◆ shouldDisconnect()

virtual bool CeresEngine::RenderTask::shouldDisconnect ( const Slot slot,
const Connection connection 
) const
inlineprotectedvirtual

An internal method called whenever a new disconnection is being made.

The slot implementation can use this method to refuse disconnections.

◆ willConnect()

virtual void CeresEngine::RenderTask::willConnect ( Slot slot,
Slot targetSlot 
)
inlineprotectedvirtual

An internal method called before the slot is connected.

◆ willDisconnect()

virtual void CeresEngine::RenderTask::willDisconnect ( Slot slot,
Connection connection 
)
inlineprotectedvirtual

An internal method called before the slot is disconnected.

Friends And Related Symbol Documentation

◆ InputSlot

◆ OutputSlot

◆ RenderGraph

◆ Slot

friend class Slot
friend

Member Data Documentation

◆ mInputs

Vector<InputSlot*> CeresEngine::RenderTask::mInputs
private

◆ mOutputs

Vector<OutputSlot*> CeresEngine::RenderTask::mOutputs
private

◆ mRenderGraph

RenderGraph& CeresEngine::RenderTask::mRenderGraph
private

◆ mResourceUsage

RenderTaskResourceUsage CeresEngine::RenderTask::mResourceUsage
protected

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