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

Public Types

enum  ObjectBufferMode { Single , Batched , List }
 

Public Member Functions

void initialize (RenderTaskContext *context) override
 
void apply (RenderTaskContext *context) override
 
bool validate (RenderTaskContext *context, size_t expectedInputs, size_t expectedOutputs)
 
virtual void applyMaterial (const DrawContext &, const RenderItem &)
 
void renderItems (RenderTaskContext *taskContext, RenderTarget *renderTarget, const RenderList *renderList, BucketMask bucketMask, StateChangeFlags stateChangeMask)
 
void renderBatched (RenderTaskContext *taskContext, DrawContext &drawContext, const RenderList *renderList, const RenderItems &items, BucketMask bucketMask, StateChangeFlags stateChangeMask, bool batched)
 
- Public Member Functions inherited from Cogs::Core::RenderTask
virtual void initialize (RenderTaskContext *)
 
virtual void cleanup (RenderTaskContext *)
 
virtual void apply (RenderTaskContext *)=0
 
bool isStatic () const
 

Public Attributes

bool colorClear = false
 
bool depthClear = false
 
bool depthWrite = true
 
bool discardColor = false
 
bool discardDepth = false
 
glm::ivec2 defaultViewportSize
 
size_t permutationIndex = 0
 
BucketMask bucketMask = BucketMask::All
 
StateChangeFlags stateChangeMask = StateChangeFlags::ChangeAll
 
LightingLayers lightingMask = LightingLayers::All
 
bool viewportFromTarget = false
 
bool temporalOffsets = false
 
BlendMode blendMode = BlendMode::None
 
DepthMode depthMode = DepthMode::Default
 
DepthFunc depthFunc = DepthFunc::Less
 
enum Cogs::Core::RenderListTask::ObjectBufferMode objectBufferMode = ObjectBufferMode::Single
 
- 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 Member Functions

void setupRenderTarget (RenderTaskContext *context, RenderTarget *renderTarget, const CameraData *viewportData)
 

Private Attributes

std::string scopeName
 
size_t lastHash = 0
 
BlendStateHandle blendState = BlendStateHandle::NoHandle
 
DepthStencilStateHandle depthState = DepthStencilStateHandle::NoHandle
 

Detailed Description

Definition at line 11 of file RenderListTask.h.

Member Enumeration Documentation

◆ ObjectBufferMode

enum Cogs::Core::RenderListTask::ObjectBufferMode

Definition at line 57 of file RenderListTask.h.

Constructor & Destructor Documentation

◆ RenderListTask()

Cogs::Core::RenderListTask::RenderListTask ( )

Definition at line 38 of file RenderListTask.cpp.

◆ ~RenderListTask()

Cogs::Core::RenderListTask::~RenderListTask ( )

Definition at line 42 of file RenderListTask.cpp.

Member Function Documentation

◆ apply()

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

Implements Cogs::Core::RenderTask.

Definition at line 59 of file RenderListTask.cpp.

◆ applyMaterial()

void Cogs::Core::RenderListTask::applyMaterial ( const DrawContext drawContext,
const RenderItem item 
)
virtual

Definition at line 120 of file RenderListTask.cpp.

◆ initialize()

void Cogs::Core::RenderListTask::initialize ( RenderTaskContext context)
overridevirtual

Reimplemented from Cogs::Core::RenderTask.

Definition at line 46 of file RenderListTask.cpp.

◆ renderBatched()

void Cogs::Core::RenderListTask::renderBatched ( RenderTaskContext taskContext,
DrawContext drawContext,
const RenderList renderList,
const RenderItems &  items,
BucketMask  bucketMask,
StateChangeFlags  stateChangeMask,
bool  batched 
)

Definition at line 140 of file RenderListTask.cpp.

◆ renderItems()

void Cogs::Core::RenderListTask::renderItems ( RenderTaskContext taskContext,
RenderTarget renderTarget,
const RenderList renderList,
BucketMask  bucketMask,
StateChangeFlags  stateChangeMask 
)

Definition at line 406 of file RenderListTask.cpp.

◆ setupRenderTarget()

void Cogs::Core::RenderListTask::setupRenderTarget ( RenderTaskContext context,
RenderTarget renderTarget,
const CameraData viewportData 
)
private

Definition at line 289 of file RenderListTask.cpp.

◆ validate()

bool Cogs::Core::RenderListTask::validate ( RenderTaskContext context,
size_t  expectedInputs,
size_t  expectedOutputs 
)

Definition at line 107 of file RenderListTask.cpp.

Member Data Documentation

◆ blendMode

BlendMode Cogs::Core::RenderListTask::blendMode = BlendMode::None

Definition at line 52 of file RenderListTask.h.

◆ blendState

BlendStateHandle Cogs::Core::RenderListTask::blendState = BlendStateHandle::NoHandle
private

Definition at line 69 of file RenderListTask.h.

◆ bucketMask

BucketMask Cogs::Core::RenderListTask::bucketMask = BucketMask::All

Definition at line 46 of file RenderListTask.h.

◆ colorClear

bool Cogs::Core::RenderListTask::colorClear = false

Definition at line 36 of file RenderListTask.h.

◆ defaultViewportSize

glm::ivec2 Cogs::Core::RenderListTask::defaultViewportSize

Definition at line 43 of file RenderListTask.h.

◆ depthClear

bool Cogs::Core::RenderListTask::depthClear = false

Definition at line 37 of file RenderListTask.h.

◆ depthFunc

DepthFunc Cogs::Core::RenderListTask::depthFunc = DepthFunc::Less

Definition at line 54 of file RenderListTask.h.

◆ depthMode

DepthMode Cogs::Core::RenderListTask::depthMode = DepthMode::Default

Definition at line 53 of file RenderListTask.h.

◆ depthState

DepthStencilStateHandle Cogs::Core::RenderListTask::depthState = DepthStencilStateHandle::NoHandle
private

Definition at line 70 of file RenderListTask.h.

◆ depthWrite

bool Cogs::Core::RenderListTask::depthWrite = true

Definition at line 38 of file RenderListTask.h.

◆ discardColor

bool Cogs::Core::RenderListTask::discardColor = false

Definition at line 40 of file RenderListTask.h.

◆ discardDepth

bool Cogs::Core::RenderListTask::discardDepth = false

Definition at line 41 of file RenderListTask.h.

◆ lastHash

size_t Cogs::Core::RenderListTask::lastHash = 0
private

Definition at line 67 of file RenderListTask.h.

◆ lightingMask

LightingLayers Cogs::Core::RenderListTask::lightingMask = LightingLayers::All

Definition at line 48 of file RenderListTask.h.

◆ permutationIndex

size_t Cogs::Core::RenderListTask::permutationIndex = 0

Definition at line 45 of file RenderListTask.h.

◆ scopeName

std::string Cogs::Core::RenderListTask::scopeName
private

Definition at line 66 of file RenderListTask.h.

◆ stateChangeMask

StateChangeFlags Cogs::Core::RenderListTask::stateChangeMask = StateChangeFlags::ChangeAll

Definition at line 47 of file RenderListTask.h.

◆ temporalOffsets

bool Cogs::Core::RenderListTask::temporalOffsets = false

Definition at line 50 of file RenderListTask.h.

◆ viewportFromTarget

bool Cogs::Core::RenderListTask::viewportFromTarget = false

Definition at line 49 of file RenderListTask.h.


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