CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::RendererObject Class Referenceabstract

A base class for all renderer objects. More...

#include <CeresEngine/Renderer/RendererObject.hpp>

Inheritance diagram for CeresEngine::RendererObject:
CeresEngine::TRendererObject< RendererScene > CeresEngine::RendererSceneObject CeresEngine::TRendererObject< SelfType, BaseType > CeresEngine::RendererScene CeresEngine::TRendererObject< RendererCamera, RendererSceneObject > CeresEngine::TRendererObject< RendererEnvironment, RendererSceneObject > CeresEngine::TRendererObject< RendererLight, RendererSceneObject > CeresEngine::TRendererObject< RendererRenderable, RendererSceneObject > CeresEngine::TRendererObject< RendererTerrain, RendererSceneObject > CeresEngine::TRendererObject< SelfType, RendererSceneObject > CeresEngine::TRendererSceneObject< RendererCamera > CeresEngine::TRendererSceneObject< RendererEnvironment > CeresEngine::TRendererSceneObject< RendererLight > CeresEngine::TRendererSceneObject< RendererRenderable > CeresEngine::TRendererSceneObject< RendererTerrain > CeresEngine::TRendererSceneObject< SelfType, BaseType >

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
 

Detailed Description

A base class for all renderer objects.

Constructor & Destructor Documentation

◆ RendererObject()

CeresEngine::RendererObject::RendererObject ( )
explicitdefault

Creates a new RendererObject instance.

◆ ~RendererObject()

virtual CeresEngine::RendererObject::~RendererObject ( )
virtualdefaultnoexcept

Destroys an existing RendererObject instance.

Member Function Documentation

◆ changeID()

void CeresEngine::RendererObject::changeID ( RendererObjectID  newID)
privatenoexcept

Method called whenever the RendererObject ID changes.

Parameters
newIDThe new ID to change to.

◆ destroy()

◆ getID()

RendererObjectID CeresEngine::RendererObject::getID ( ) const
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.

Friends And Related Symbol Documentation

◆ RendererObjectManager

◆ TRendererObjectManager

Member Data Documentation

◆ didChangeID

Event<void(RendererObjectID oldID)> CeresEngine::RendererObject::didChangeID

An event called whenever the object changes it's ID.

◆ mID

RendererObjectID CeresEngine::RendererObject::mID
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.

◆ willChangeID

Event<void(RendererObjectID newID)> CeresEngine::RendererObject::willChangeID

An event called whenever the object is about to change it's ID.


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