|
CeresEngine 0.2.0
A game development framework
|
A manager that controls all environments currently registered with the renderer. More...
#include <CeresEngine/Renderer/RendererEnvironment.hpp>
Public Types | |
| using | ObjectType = RendererEnvironment |
Public Member Functions | |
| RendererEnvironmentManager (Renderer &renderer) | |
Creates a new instance of the RendererEnvironmentManager. | |
| ~RendererEnvironmentManager () | |
Destroys the RendererEnvironmentManager and releases all environments objects managed by it. | |
| Async | prepare (RendererContext &context) |
| Prepares the environments for the rendering of the current frame. | |
| template<typename... Args> | |
| ObjectType & | create (Args &&... args) |
| Creates a new renderer object by calling it's constructor. | |
| void | destroy (const ObjectType &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. | |
| Renderer & | getRenderer () const noexcept |
| The renderer that owns this manager instance. | |
Private Types | |
| using | super = RendererSceneObjectManager |
Private Member Functions | |
| void | markAsDirty (RendererEnvironment *const environment) |
| Marks the given environment as dirty. | |
Private Attributes | |
| Vector< UPtr< RendererSkyboxEnvironment > > | mEnvironments |
| A vector of all registered environments. | |
Friends | |
| class | RendererEnvironment |
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 | |
| Renderer & | mRenderer |
| The renderer that owns this manager instance. | |
A manager that controls all environments currently registered with the renderer.
|
explicit |
Creates a new instance of the RendererEnvironmentManager.
| CeresEngine::RendererEnvironmentManager::~RendererEnvironmentManager | ( | ) |
Destroys the RendererEnvironmentManager and releases all environments objects managed by it.
|
inline |
Creates a new renderer object by calling it's constructor.
with args.
| Args | The argument types to be passed to the object constructor. |
| args | The arguments to be passed to the object constructor. |
destroy on the object.
|
inline |
Destroys an existing renderer object by calling it's destructor and releasing it's memory.
| object | The renderer object to be destroyed. |
|
private |
Marks the given environment as dirty.
It will be updated on the next frame.
| Async CeresEngine::RendererEnvironmentManager::prepare | ( | RendererContext & | context | ) |
Prepares the environments for the rendering of the current frame.
This will update uniform buffers and perform any other necessary operations necessary for rendering.
| context | A context struct that contains parameters given by the renderer. |
|
friend |
|
private |
A vector of all registered environments.
Indices in this vector represent the renderer ID of the object.