CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::RendererSceneManager Class Referencefinal

A manager that controls all scenes currently registered with the renderer. More...

#include <CeresEngine/Renderer/RendererScene.hpp>

Inheritance diagram for CeresEngine::RendererSceneManager:
CeresEngine::TRendererObjectManager< RendererSceneManager, RendererScene > CeresEngine::RendererObjectManager

Public Member Functions

 RendererSceneManager (Renderer &renderer)
 Creates a new instance of the RendererSceneManager.
 
 ~RendererSceneManager () final
 Destroys the RendererSceneManager and releases all GPU resources managed and allocated by it.
 
Async prepare (RendererContext &context)
 Prepares the scenes for the rendering of the current frame.
 
Generator< RendererScene & > enumerateScenes ()
 Enumerates the currently registered scenes.
 
- Public Member Functions inherited from CeresEngine::TRendererObjectManager< RendererSceneManager, RendererScene >
 TRendererObjectManager (Vector< UPtr< RendererScene > > &objects, Args &&... args)
 Creates a new TRendererObjectManager instance.
 
RendererScenecreate (Args &&... args)
 Creates a new renderer object by calling it's constructor.
 
void destroy (RendererScene &object)
 Destroys an existing renderer object by calling it's destructor and releasing it's memory.
 
- Public Member Functions inherited from CeresEngine::RendererObjectManager
 RendererObjectManager (Renderer &renderer) noexcept
 Creates a new RendererObjectManager instance.
 
virtual ~RendererObjectManager () noexcept=default
 Destroys an existing instance of RendererObjectManager.
 
RenderergetRenderer () const noexcept
 The renderer that owns this manager instance.
 

Private Types

using super = TRendererObjectManager< RendererSceneManager, RendererScene >
 

Private Attributes

Vector< UPtr< RendererScene > > mScenes
 A list of scenes currently registered with the renderer.
 

Additional Inherited Members

- Protected Member Functions inherited from CeresEngine::RendererObjectManager
void notifyChangeID (RendererObject &object, const RendererObjectID newID) noexcept
 Method called whenever the RendererObject ID changes.
 
- Protected Attributes inherited from CeresEngine::RendererObjectManager
RenderermRenderer
 The renderer that owns this manager instance.
 

Detailed Description

A manager that controls all scenes currently registered with the renderer.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ RendererSceneManager()

CeresEngine::RendererSceneManager::RendererSceneManager ( Renderer renderer)
explicit

Creates a new instance of the RendererSceneManager.

◆ ~RendererSceneManager()

CeresEngine::RendererSceneManager::~RendererSceneManager ( )
final

Destroys the RendererSceneManager and releases all GPU resources managed and allocated by it.

Member Function Documentation

◆ enumerateScenes()

Generator< RendererScene & > CeresEngine::RendererSceneManager::enumerateScenes ( )

Enumerates the currently registered scenes.

◆ prepare()

Async CeresEngine::RendererSceneManager::prepare ( RendererContext context)

Prepares the scenes for the rendering of the current frame.

This will update uniform buffers and perform any other necessary operations necessary for rendering.

Parameters
contextA context struct that contains parameters given by the renderer.

Member Data Documentation

◆ mScenes

Vector<UPtr<RendererScene> > CeresEngine::RendererSceneManager::mScenes
private

A list of scenes currently registered with the renderer.


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