Cogs.Core
Public Member Functions | Public Attributes | List of all members
Cogs::Core::RenderTask Struct Referenceabstract
Inheritance diagram for Cogs::Core::RenderTask:
Cogs::Core::ClearResourceTask Cogs::Core::CopyResourceTask Cogs::Core::DeferredLightingTask Cogs::Core::EditorRenderTask Cogs::Core::FilterListTask Cogs::Core::GenerateListTask Cogs::Core::GuiRenderTask Cogs::Core::HighlightRegionRenderTask Cogs::Core::ProcessTask Cogs::Core::ReadbackTask Cogs::Core::RenderListTask Cogs::Core::ResolveResourceTask Cogs::Core::TransparencyMergeTask Cogs::Core::TransparencyTemporalUpscaleTask Cogs::Core::TransparencyUpscaleTask Cogs::Core::TwinVisualsTexAtlasRenderTask

Public Member Functions

virtual void initialize (RenderTaskContext *)
 
virtual void cleanup (RenderTaskContext *)
 
virtual void apply (RenderTaskContext *)=0
 
virtual Cogs::ResourceStatus checkReady (RenderTaskContext *)
 Check if the task is ready to be applied, e.g.
 
bool isStatic () const
 

Public Attributes

RenderTaskResources input
 
RenderTaskResources output
 
std::string name
 
std::vector< std::string > dependencies
 
PipelineOptions options
 
RenderTaskFlags::ERenderTaskFlags flags = RenderTaskFlags::None
 
bool allowSelfDependency = false
 
size_t frameMod = 0
 
size_t frameOffset = 0
 
std::function< void(void)> deleter
 

Detailed Description

Definition at line 77 of file RenderTask.h.

Constructor & Destructor Documentation

◆ ~RenderTask()

virtual Cogs::Core::RenderTask::~RenderTask ( )
inlinevirtual

Definition at line 79 of file RenderTask.h.

Member Function Documentation

◆ checkReady()

virtual Cogs::ResourceStatus Cogs::Core::RenderTask::checkReady ( RenderTaskContext )
inlinevirtual

Check if the task is ready to be applied, e.g.

that any effects it depends on have finished loading.

This is called unconditionally for every task, every frame, regardless of the readiness of other tasks - so that any pending loads triggered here get a chance to start as early as possible, instead of being serialized behind other tasks becoming ready first.

Returns
Cogs::ResourceStatus::Ready if apply() should be called this frame, Pending if the task should be retried next frame, or Error if the task has permanently failed.

Reimplemented in Cogs::Core::EditorRenderTask, Cogs::Core::ComputeTask, Cogs::Core::DeferredLightingTask, Cogs::Core::PostProcessTask, Cogs::Core::ResolveResourceTask, Cogs::Core::TransparencyMergeTask, Cogs::Core::TransparencyTemporalUpscaleTask, Cogs::Core::TransparencyUpscaleTask, and Cogs::Core::TwinVisualsTexAtlasRenderTask.

Definition at line 95 of file RenderTask.h.

References Cogs::Ready.

◆ cleanup()

virtual void Cogs::Core::RenderTask::cleanup ( RenderTaskContext )
inlinevirtual

Definition at line 81 of file RenderTask.h.

◆ initialize()

virtual void Cogs::Core::RenderTask::initialize ( RenderTaskContext )
inlinevirtual

Definition at line 80 of file RenderTask.h.

◆ isStatic()

bool Cogs::Core::RenderTask::isStatic ( ) const
inline

Definition at line 97 of file RenderTask.h.

Member Data Documentation

◆ allowSelfDependency

bool Cogs::Core::RenderTask::allowSelfDependency = false

Definition at line 107 of file RenderTask.h.

◆ deleter

std::function<void(void)> Cogs::Core::RenderTask::deleter

Definition at line 112 of file RenderTask.h.

◆ dependencies

std::vector<std::string> Cogs::Core::RenderTask::dependencies

Definition at line 103 of file RenderTask.h.

◆ flags

RenderTaskFlags::ERenderTaskFlags Cogs::Core::RenderTask::flags = RenderTaskFlags::None

Definition at line 106 of file RenderTask.h.

◆ frameMod

size_t Cogs::Core::RenderTask::frameMod = 0

Definition at line 109 of file RenderTask.h.

◆ frameOffset

size_t Cogs::Core::RenderTask::frameOffset = 0

Definition at line 110 of file RenderTask.h.

◆ input

RenderTaskResources Cogs::Core::RenderTask::input

Definition at line 99 of file RenderTask.h.

◆ name

std::string Cogs::Core::RenderTask::name

Definition at line 102 of file RenderTask.h.

◆ options

PipelineOptions Cogs::Core::RenderTask::options

Definition at line 105 of file RenderTask.h.

◆ output

RenderTaskResources Cogs::Core::RenderTask::output

Definition at line 100 of file RenderTask.h.


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