Cogs.Core
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Cogs::Core::EditorRenderTask Class Reference

WireFrame Rendering task for Selected entity outline and extra cameras. More...

#include <EditorRenderTask.h>

Inheritance diagram for Cogs::Core::EditorRenderTask:
Cogs::Core::RenderTask

Public Member Functions

void init (const ViewContext *viewContext, IGraphicsDevice *device)
 
void apply (RenderTaskContext *renderContext) override
 
Cogs::ResourceStatus checkReady (RenderTaskContext *context) override
 Check if the task is ready to be applied, e.g.
 
- 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
 

Private Member Functions

void renderEntity (RenderTaskContext *renderContext, const EntityId id, glm::vec4 diffuseColor)
 
void renderCamera (RenderTaskContext *renderContext, const CameraComponent &cameraComponent, glm::vec4 diffuseColor)
 

Private Attributes

const ViewContextviewContext = nullptr
 
Cogs::EffectHandle effectHandle
 
Cogs::InputLayoutHandle inputLayoutHandle
 
Cogs::VertexFormatHandle vertexFormat
 
Cogs::ResourceStatus effectStatus = Cogs::ResourceStatus::Pending
 
Cogs::BufferHandle constantBuffer
 

Additional Inherited Members

- 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
 

Detailed Description

WireFrame Rendering task for Selected entity outline and extra cameras.

Definition at line 14 of file EditorRenderTask.h.

Member Function Documentation

◆ apply()

void Cogs::Core::EditorRenderTask::apply ( RenderTaskContext renderContext)
overridevirtual

Implements Cogs::Core::RenderTask.

Definition at line 110 of file EditorRenderTask.cpp.

◆ checkReady()

Cogs::ResourceStatus Cogs::Core::EditorRenderTask::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 92 of file EditorRenderTask.cpp.

References Cogs::IEffects::checkEffect(), Cogs::Error, Cogs::IGraphicsDevice::getBuffers(), Cogs::IGraphicsDevice::getEffects(), Cogs::IBuffers::loadInputLayout(), and Cogs::Ready.

Referenced by Cogs::Core::EditorRenderExtension::handleEvent().

◆ init()

void Cogs::Core::EditorRenderTask::init ( const ViewContext viewContext,
IGraphicsDevice device 
)

Definition at line 52 of file EditorRenderTask.cpp.

◆ renderCamera()

void Cogs::Core::EditorRenderTask::renderCamera ( RenderTaskContext renderContext,
const CameraComponent cameraComponent,
glm::vec4  diffuseColor 
)
private

Definition at line 227 of file EditorRenderTask.cpp.

◆ renderEntity()

void Cogs::Core::EditorRenderTask::renderEntity ( RenderTaskContext renderContext,
const EntityId  id,
glm::vec4  diffuseColor 
)
private

Definition at line 191 of file EditorRenderTask.cpp.

Member Data Documentation

◆ constantBuffer

Cogs::BufferHandle Cogs::Core::EditorRenderTask::constantBuffer
private

Definition at line 32 of file EditorRenderTask.h.

◆ effectHandle

Cogs::EffectHandle Cogs::Core::EditorRenderTask::effectHandle
private

Definition at line 28 of file EditorRenderTask.h.

◆ effectStatus

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

Definition at line 31 of file EditorRenderTask.h.

◆ inputLayoutHandle

Cogs::InputLayoutHandle Cogs::Core::EditorRenderTask::inputLayoutHandle
private

Definition at line 29 of file EditorRenderTask.h.

◆ vertexFormat

Cogs::VertexFormatHandle Cogs::Core::EditorRenderTask::vertexFormat
private

Definition at line 30 of file EditorRenderTask.h.

◆ viewContext

const ViewContext* Cogs::Core::EditorRenderTask::viewContext = nullptr
private

Definition at line 26 of file EditorRenderTask.h.


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