|
CeresEngine 0.2.0
A game development framework
|
A manager that controls all terrains currently registered with the renderer. More...
#include <CeresEngine/Renderer/RendererTerrain.hpp>
Public Member Functions | |
| RendererTerrainManager (Renderer &renderer) | |
Creates a new instance of the RendererTerrainManager. | |
| ~RendererTerrainManager () | |
Destroys the RendererTerrainManager and releases all terrains objects managed by it. | |
| Async | prepare (RendererContext &context) |
| Prepares the terrains for the rendering of the current frame. | |
Public Member Functions inherited from CeresEngine::TRendererObjectManager< SelfType, ObjectType, BaseType > | |
| template<typename... Args> | |
| TRendererObjectManager (Vector< UPtr< ObjectType > > &objects, Args &&... args) | |
Creates a new TRendererObjectManager instance. | |
| template<typename... Args> | |
| ObjectType & | create (Args &&... args) |
| Creates a new renderer object by calling it's constructor. | |
| void | destroy (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 = TRendererSceneObjectManager< RendererTerrainManager, RendererTerrain > |
| using | UniformBufferType = GPUDynamicStridedBindlessBufferArray< RendererTerrainParams > |
| The type used to store uniform buffers. | |
Private Member Functions | |
| void | markAsDirty (RendererTerrain *const terrain) |
| Marks the given terrain as dirty. | |
Private Attributes | |
| Vector< UPtr< RendererTerrain > > | mTerrains |
| A vector of all registered terrains. | |
| UniformBufferType | mUniformBuffer |
| The uniform buffer storing all terrain GPU parameters used by the renderer. | |
Friends | |
| class | RendererTerrain |
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 terrains currently registered with the renderer.
|
private |
|
private |
The type used to store uniform buffers.
|
explicit |
Creates a new instance of the RendererTerrainManager.
| CeresEngine::RendererTerrainManager::~RendererTerrainManager | ( | ) |
Destroys the RendererTerrainManager and releases all terrains objects managed by it.
|
private |
Marks the given terrain as dirty.
It will be updated on the next frame.
| Async CeresEngine::RendererTerrainManager::prepare | ( | RendererContext & | context | ) |
Prepares the terrains 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 terrains.
Indices in this vector represent the renderer ID of the object.
|
private |
The uniform buffer storing all terrain GPU parameters used by the renderer.