Cogs.Core
Public Member Functions | Public Attributes | Private Attributes | List of all members
Cogs::Core::TransparencyMergeTask Struct Reference
Inheritance diagram for Cogs::Core::TransparencyMergeTask:
Cogs::Core::RenderTask

Public Member Functions

void cleanup (RenderTaskContext *context) override
 
Cogs::ResourceStatus checkReady (RenderTaskContext *context) override
 Check if the task is ready to be applied, e.g.
 
void apply (RenderTaskContext *context) override
 
- Public Member Functions inherited from Cogs::Core::RenderTask
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

bool clear = false
 
- Public Attributes inherited from Cogs::Core::RenderTask
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
 

Private Attributes

CachedEffecteffect = nullptr
 
CachedEffecteffectPrev = nullptr
 
BufferHandle parameterHandle
 
GlobalBinding bindings
 
Cogs::ResourceStatus effectStatus = Cogs::ResourceStatus::Pending
 

Detailed Description

Definition at line 13 of file TransparencyMergeTask.h.

Member Function Documentation

◆ apply()

void Cogs::Core::TransparencyMergeTask::apply ( RenderTaskContext context)
overridevirtual

Implements Cogs::Core::RenderTask.

Definition at line 116 of file TransparencyMergeTask.cpp.

◆ checkReady()

Cogs::ResourceStatus Cogs::Core::TransparencyMergeTask::checkReady ( RenderTaskContext )
overridevirtual

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 from Cogs::Core::RenderTask.

Definition at line 45 of file TransparencyMergeTask.cpp.

References Cogs::IBuffers::annotate(), Cogs::IEffects::checkEffect(), Cogs::BindFlags::ConstantBuffer, Cogs::Usage::Dynamic, Cogs::Error, Cogs::Core::Renderer::getActiveLights(), Cogs::IGraphicsDevice::getBuffers(), Cogs::Core::Renderer::getDevice(), Cogs::Core::Renderer::getEffectCache(), Cogs::IGraphicsDevice::getEffects(), Cogs::Core::Renderer::getSettings(), Cogs::Core::HandleIsValid(), Cogs::IBuffers::loadBuffer(), Cogs::Ready, Cogs::IBuffers::releaseBuffer(), Cogs::Core::Context::variables, and Cogs::AccessMode::Write.

◆ cleanup()

void Cogs::Core::TransparencyMergeTask::cleanup ( RenderTaskContext context)
overridevirtual

Reimplemented from Cogs::Core::RenderTask.

Definition at line 106 of file TransparencyMergeTask.cpp.

Member Data Documentation

◆ bindings

GlobalBinding Cogs::Core::TransparencyMergeTask::bindings
private

Definition at line 26 of file TransparencyMergeTask.h.

◆ clear

bool Cogs::Core::TransparencyMergeTask::clear = false

Definition at line 19 of file TransparencyMergeTask.h.

◆ effect

CachedEffect* Cogs::Core::TransparencyMergeTask::effect = nullptr
private

Definition at line 22 of file TransparencyMergeTask.h.

◆ effectPrev

CachedEffect* Cogs::Core::TransparencyMergeTask::effectPrev = nullptr
private

Definition at line 23 of file TransparencyMergeTask.h.

◆ effectStatus

Cogs::ResourceStatus Cogs::Core::TransparencyMergeTask::effectStatus = Cogs::ResourceStatus::Pending
private

Definition at line 27 of file TransparencyMergeTask.h.

◆ parameterHandle

BufferHandle Cogs::Core::TransparencyMergeTask::parameterHandle
private

Definition at line 24 of file TransparencyMergeTask.h.


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