|
CeresEngine 0.2.0
A game development framework
|
A class that represents a scene inside the renderer. More...
#include <CeresEngine/Renderer/RendererScene.hpp>
Public Member Functions | |
| ~RendererScene () final | |
| void | prepare (RendererContext &context) |
| Prepares the scene for the rendering of the current frame. | |
| RendererEnvironment * | getEnvironment () const noexcept |
| A pointer to the sky environment for the scene. | |
| template<typename T > | |
| T & | create () |
Creates a new renderer object of the given type T. | |
| const Vector< RendererCamera * > & | getCameras () |
| Enumerates the currently registered cameras. | |
| const Vector< RendererLight * > & | getLights () |
| Enumerates the currently registered lights. | |
| const Vector< RendererRenderable * > & | getRenderables () |
| Enumerates the currently registered renderables. | |
| const Vector< RendererTerrain * > & | getTerrains () |
| Enumerates the currently registered terrains. | |
| const Vector< RendererEnvironment * > & | getEnvironments () |
| Enumerates the currently registered environments. | |
| Generator< RendererGeometry > | enumerateGeometry (const RendererGeometryEnumerationRequest &enumerationRequest=RendererGeometryEnumerationRequest()) const |
| Renderer & | getRenderer () const |
| The renderer that owns this manager instance. | |
| bool | isDirty () const noexcept |
| If set to true, the scene is dirty and needs to be synchronized from the entity. | |
| void | markAsDirty () noexcept |
| If set to true, the scene is dirty and needs to be synchronized from the entity. | |
| const RendererSceneInfo & | getInfo () const |
| A structure that holds renderer-specific information for the scene. | |
| RendererSceneInfo & | getInfo () |
| A structure that holds renderer-specific information for the scene. | |
| const GPUUniformBuffer & | getUniformBuffer () const |
| The uniform buffer storing the scene GPU parameters used by the renderer. | |
Public Member Functions inherited from CeresEngine::TRendererObject< RendererScene > | |
| TRendererObject (ManagerType &manager, Args &&... args) | |
Creates a new TRendererObject instance. | |
| void | destroy () noexcept override |
Destroys the RendererObject. | |
| ManagerType & | getManager () const noexcept |
| The owning object manager. | |
Public Member Functions inherited from CeresEngine::RendererObject | |
| RendererObject ()=default | |
Creates a new RendererObject instance. | |
| virtual | ~RendererObject () noexcept=default |
Destroys an existing RendererObject instance. | |
| RendererObjectID | getID () const noexcept |
| An identifier that uniquely identifies this object in the renderer. | |
Private Types | |
| using | super = TRendererObject< RendererScene > |
Private Member Functions | |
| template<typename T > | |
| void | add (T &object) |
| Adds a new object to the scene. | |
| template<typename T > | |
| void | remove (T &object) |
| Removes an existing object from the scene. | |
| void | onSkyTextureChanged () |
Private Attributes | |
| bool | mDirty = true |
| If set to true, the scene is dirty and needs to be synchronized from the entity. | |
| RendererSceneInfo | mInfo |
| A structure that holds renderer-specific information for the scene. | |
| GPUDynamicUniformBuffer< RendererSceneParams > | mUniformBuffer |
| The uniform buffer storing the scene GPU parameters used by the renderer. | |
| Vector< RendererCamera * > | mCameras |
| The set of registered cameras with the renderer scene. | |
| Vector< RendererLight * > | mLights |
| The set of registered lights with the renderer scene. | |
| Vector< RendererRenderable * > | mRenderables |
| The set of registered renderables with the renderer scene. | |
| Vector< RendererTerrain * > | mTerrains |
| The set of registered terrains with the renderer scene. | |
| Vector< RendererEnvironment * > | mEnvironments |
| The set of registered terrains with the renderer scene. | |
Friends | |
| template<typename , typename > | |
| class | TRendererSceneObject |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::RendererObject | |
| Event< void(RendererObjectID newID)> | willChangeID |
| An event called whenever the object is about to change it's ID. | |
| Event< void(RendererObjectID oldID)> | didChangeID |
| An event called whenever the object changes it's ID. | |
Protected Attributes inherited from CeresEngine::TRendererObject< RendererScene > | |
| ManagerType & | mManager |
| The owning object manager. | |
Protected Attributes inherited from CeresEngine::RendererObject | |
| RendererObjectID | mID |
| An identifier that uniquely identifies this object in the renderer. | |
A class that represents a scene inside the renderer.
|
final |
Adds a new object to the scene.
Usually called from the scene object constructor.
Creates a new renderer object of the given type T.
| T | The renderer object type. |
| Generator< RendererGeometry > CeresEngine::RendererScene::enumerateGeometry | ( | const RendererGeometryEnumerationRequest & | enumerationRequest = RendererGeometryEnumerationRequest() | ) | const |
|
inline |
Enumerates the currently registered cameras.
|
inlinenoexcept |
A pointer to the sky environment for the scene.
|
inline |
Enumerates the currently registered environments.
|
inline |
A structure that holds renderer-specific information for the scene.
|
inline |
A structure that holds renderer-specific information for the scene.
|
inline |
Enumerates the currently registered lights.
|
inline |
Enumerates the currently registered renderables.
| Renderer & CeresEngine::RendererScene::getRenderer | ( | ) | const |
The renderer that owns this manager instance.
|
inline |
Enumerates the currently registered terrains.
|
inline |
The uniform buffer storing the scene GPU parameters used by the renderer.
|
inlinenoexcept |
If set to true, the scene is dirty and needs to be synchronized from the entity.
|
inlinenoexcept |
If set to true, the scene is dirty and needs to be synchronized from the entity.
|
private |
| void CeresEngine::RendererScene::prepare | ( | RendererContext & | context | ) |
Prepares the scene 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. |
Removes an existing object from the scene.
Usually called from the scene object destructor.
|
friend |
|
private |
The set of registered cameras with the renderer scene.
If set to true, the scene is dirty and needs to be synchronized from the entity.
|
private |
The set of registered terrains with the renderer scene.
|
private |
A structure that holds renderer-specific information for the scene.
|
private |
The set of registered lights with the renderer scene.
|
private |
The set of registered renderables with the renderer scene.
|
private |
The set of registered terrains with the renderer scene.
|
private |
The uniform buffer storing the scene GPU parameters used by the renderer.