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

Public Member Functions

 RenderPipelineManager (const RenderPipelineManager &)=delete
 
RenderPipelineManageroperator= (const RenderPipelineManager &)=delete
 
void initialize (RenderTaskContext *renderContext)
 
void cleanup (RenderTaskContext *renderContext)
 
void setupPipeline (RenderTaskContext *renderContext)
 
void initializeFrame (RenderTaskContext *renderContext)
 
void applyPipeline (RenderTaskContext *renderContext)
 
void cleanupFrame (RenderTaskContext *renderContext)
 
std::pair< PipelineInstance *, bool > instanceByKey (Context *context, size_t key)
 
ExpressionContextgetExpressionContextRoot ()
 
struct RenderListgetRenderList ()
 
RenderPipelineDefinitiondefinitionByKey (Context *, size_t key)
 
const std::unordered_map< size_t, std::unique_ptr< PipelineInstance > > & getPipelineInstances () const
 
const struct RenderListgetMainRenderList () const
 
const RenderTaskgetGenerateListTask () const
 
RenderPipelineDefinitiondefinitionByPath (Context *context, const StringView &path)
 

Public Attributes

std::unordered_map< std::string, size_t > nameMap
 
RenderTaskResources globalResources
 
bool dirty = true
 

Private Attributes

struct RenderListrenderList = nullptr
 
RenderTaskgenerateListTask = nullptr
 
std::unordered_map< size_t, std::unique_ptr< RenderPipelineDefinition > > definitions
 
std::unordered_map< size_t, std::unique_ptr< PipelineInstance > > pipelineInstances
 
ExpressionContext expressionContextRoot
 
RenderTaskList currentPipeline
 

Detailed Description

Definition at line 57 of file RenderPipelineManager.h.

Member Function Documentation

◆ applyPipeline()

void Cogs::Core::RenderPipelineManager::applyPipeline ( RenderTaskContext renderContext)

Definition at line 789 of file RenderPipelineManager.cpp.

◆ cleanup()

void Cogs::Core::RenderPipelineManager::cleanup ( RenderTaskContext renderContext)

Definition at line 603 of file RenderPipelineManager.cpp.

◆ cleanupFrame()

void Cogs::Core::RenderPipelineManager::cleanupFrame ( RenderTaskContext renderContext)

Definition at line 803 of file RenderPipelineManager.cpp.

◆ definitionByKey()

RenderPipelineDefinition & Cogs::Core::RenderPipelineManager::definitionByKey ( Context ,
size_t  key 
)
inline

Definition at line 79 of file RenderPipelineManager.h.

◆ definitionByPath()

Cogs::Core::RenderPipelineDefinition & Cogs::Core::RenderPipelineManager::definitionByPath ( Context context,
const StringView path 
)

Definition at line 622 of file RenderPipelineManager.cpp.

◆ getExpressionContextRoot()

ExpressionContext * Cogs::Core::RenderPipelineManager::getExpressionContextRoot ( )
inline

Definition at line 75 of file RenderPipelineManager.h.

◆ getGenerateListTask()

const RenderTask * Cogs::Core::RenderPipelineManager::getGenerateListTask ( ) const
inline

Definition at line 83 of file RenderPipelineManager.h.

◆ getMainRenderList()

const struct RenderList * Cogs::Core::RenderPipelineManager::getMainRenderList ( ) const
inline

Definition at line 82 of file RenderPipelineManager.h.

◆ getPipelineInstances()

const std::unordered_map< size_t, std::unique_ptr< PipelineInstance > > & Cogs::Core::RenderPipelineManager::getPipelineInstances ( ) const
inline

Definition at line 81 of file RenderPipelineManager.h.

◆ getRenderList()

struct RenderList * Cogs::Core::RenderPipelineManager::getRenderList ( )
inline

Definition at line 77 of file RenderPipelineManager.h.

◆ initialize()

void Cogs::Core::RenderPipelineManager::initialize ( RenderTaskContext renderContext)

Definition at line 588 of file RenderPipelineManager.cpp.

◆ initializeFrame()

void Cogs::Core::RenderPipelineManager::initializeFrame ( RenderTaskContext renderContext)

Definition at line 724 of file RenderPipelineManager.cpp.

◆ instanceByKey()

std::pair< Cogs::Core::PipelineInstance *, bool > Cogs::Core::RenderPipelineManager::instanceByKey ( Context context,
size_t  key 
)

Definition at line 687 of file RenderPipelineManager.cpp.

◆ setupPipeline()

void Cogs::Core::RenderPipelineManager::setupPipeline ( RenderTaskContext renderContext)

Definition at line 700 of file RenderPipelineManager.cpp.

Member Data Documentation

◆ currentPipeline

RenderTaskList Cogs::Core::RenderPipelineManager::currentPipeline
private

Definition at line 104 of file RenderPipelineManager.h.

◆ definitions

std::unordered_map<size_t, std::unique_ptr<RenderPipelineDefinition> > Cogs::Core::RenderPipelineManager::definitions
private

Definition at line 98 of file RenderPipelineManager.h.

◆ dirty

bool Cogs::Core::RenderPipelineManager::dirty = true

Definition at line 92 of file RenderPipelineManager.h.

◆ expressionContextRoot

ExpressionContext Cogs::Core::RenderPipelineManager::expressionContextRoot
private

Definition at line 102 of file RenderPipelineManager.h.

◆ generateListTask

RenderTask* Cogs::Core::RenderPipelineManager::generateListTask = nullptr
private

Definition at line 96 of file RenderPipelineManager.h.

◆ globalResources

RenderTaskResources Cogs::Core::RenderPipelineManager::globalResources

Definition at line 91 of file RenderPipelineManager.h.

◆ nameMap

std::unordered_map<std::string, size_t> Cogs::Core::RenderPipelineManager::nameMap

Definition at line 88 of file RenderPipelineManager.h.

◆ pipelineInstances

std::unordered_map<size_t, std::unique_ptr<PipelineInstance> > Cogs::Core::RenderPipelineManager::pipelineInstances
private

Definition at line 100 of file RenderPipelineManager.h.

◆ renderList

struct RenderList* Cogs::Core::RenderPipelineManager::renderList = nullptr
private

Definition at line 95 of file RenderPipelineManager.h.


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