|
CeresEngine 0.2.0
A game development framework
|
A base class for all renderer objects. More...
#include <CeresEngine/Renderer/RendererObject.hpp>
Public Member Functions | |
| RendererObject ()=default | |
Creates a new RendererObject instance. | |
| virtual | ~RendererObject () noexcept=default |
Destroys an existing RendererObject instance. | |
| virtual void | destroy ()=0 |
Destroys the RendererObject. | |
| RendererObjectID | getID () const noexcept |
| An identifier that uniquely identifies this object in the renderer. | |
Public Attributes | |
| 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 | |
| RendererObjectID | mID |
| An identifier that uniquely identifies this object in the renderer. | |
Private Member Functions | |
| void | changeID (RendererObjectID newID) noexcept |
Method called whenever the RendererObject ID changes. | |
Friends | |
| class | RendererObjectManager |
| template<typename , typename , typename > | |
| class | TRendererObjectManager |
A base class for all renderer objects.
|
explicitdefault |
Creates a new RendererObject instance.
|
virtualdefaultnoexcept |
Destroys an existing RendererObject instance.
|
privatenoexcept |
Method called whenever the RendererObject ID changes.
| newID | The new ID to change to. |
Destroys the RendererObject.
Will deallocate memory from the owning manager.
Implemented in CeresEngine::TRendererObject< SelfType, BaseType >, CeresEngine::TRendererObject< RendererCamera, RendererSceneObject >, CeresEngine::TRendererObject< RendererEnvironment, RendererSceneObject >, CeresEngine::TRendererObject< RendererLight, RendererSceneObject >, CeresEngine::TRendererObject< RendererRenderable, RendererSceneObject >, CeresEngine::TRendererObject< RendererScene >, CeresEngine::TRendererObject< RendererTerrain, RendererSceneObject >, and CeresEngine::TRendererObject< SelfType, RendererSceneObject >.
|
inlinenoexcept |
An identifier that uniquely identifies this object in the renderer.
The object ID is not immutable and can change as other objects are added or removed.
This ID can be used to index the object from a bindless GPU buffer.
|
friend |
| Event<void(RendererObjectID oldID)> CeresEngine::RendererObject::didChangeID |
An event called whenever the object changes it's ID.
|
protected |
An identifier that uniquely identifies this object in the renderer.
The object ID is not immutable and can change as other objects are added or removed.
This ID can be used to index the object from a bindless GPU buffer.
| Event<void(RendererObjectID newID)> CeresEngine::RendererObject::willChangeID |
An event called whenever the object is about to change it's ID.