Radium Engine
1.5.20
|
#include <Engine/Scene/LightManager.hpp>
Public Member Functions | |
LightManager ()=default | |
Constructor. | |
LightManager (const LightManager &)=delete | |
LightManager & | operator= (const LightManager &)=delete |
~LightManager () override | |
Virtual destructor. | |
virtual const Scene::Light * | getLight (size_t li) const =0 |
Get a pointer to the li-th Light. | |
virtual void | addLight (const Scene::Light *li)=0 |
virtual size_t | count () const |
Number of lights. This is still a work in progress. The idea is to make it possible for a LightManager to tell it has only one Light, for example if it wants to send a lot of sources at once in a single RenderParams, let's say a texture. | |
void | generateTasks (Core::TaskQueue *taskQueue, const Engine::FrameInfo &frameInfo) override |
Do nothing as this system only manage light related asset loading. | |
void | handleAssetLoading (Entity *entity, const Core::Asset::FileData *data) override |
Transform loaded file data to usable entities and component in the engine. | |
Public Member Functions inherited from Ra::Engine::Scene::System | |
std::vector< Component * > | getEntityComponents (const Entity *entity) |
void | addComponent (Entity *entity, Component *component) |
Protected Member Functions | |
void | registerComponent (const Entity *entity, Component *component) final |
void | unregisterComponent (const Entity *entity, Component *component) final |
void | unregisterAllComponents (const Entity *entity) final |
Protected Member Functions inherited from Ra::Engine::Scene::System |
Protected Attributes | |
std::unique_ptr< LightStorage > | m_data { nullptr } |
Stores the object that stores the lights... | |
Protected Attributes inherited from Ra::Engine::Scene::System | |
std::vector< std::pair< const Entity *, Component * > > | m_components |
List of active components. | |
Interface providing functions to manage a group or type of lights in a specific way.
Definition at line 17 of file LightManager.hpp.
|
pure virtual |
Add a light to the manager ... Consider the component is already registered. The light manager will not take ownership of the added light, it will just push the light on the storage ...
li | The (already registered) light to add. |
Implemented in Ra::Engine::Scene::DefaultLightManager.
|
virtual |
Number of lights. This is still a work in progress. The idea is to make it possible for a LightManager to tell it has only one Light, for example if it wants to send a lot of sources at once in a single RenderParams, let's say a texture.
Definition at line 28 of file LightManager.cpp.
|
overridevirtual |
Do nothing as this system only manage light related asset loading.
Implements Ra::Engine::Scene::System.
Definition at line 36 of file LightManager.cpp.
|
pure virtual |
Get a pointer to the li-th Light.
Implemented in Ra::Engine::Scene::DefaultLightManager.
|
overridevirtual |
Transform loaded file data to usable entities and component in the engine.
Reimplemented from Ra::Engine::Scene::System.
Definition at line 41 of file LightManager.cpp.
|
finalprotectedvirtual |
Inherited method marked as final to ensure correct memory management even in child classes (e.g. LightStorage).
Reimplemented from Ra::Engine::Scene::System.
Definition at line 116 of file LightManager.cpp.
|
finalprotectedvirtual |
Inherited method marked as final to ensure correct memory management even in child classes (e.g. LightStorage).
Reimplemented from Ra::Engine::Scene::System.
Definition at line 126 of file LightManager.cpp.
|
finalprotectedvirtual |
Inherited method marked as final to ensure correct memory management even in child classes (e.g. LightStorage).
Reimplemented from Ra::Engine::Scene::System.
Definition at line 121 of file LightManager.cpp.
|
protected |
Stores the object that stores the lights...
Definition at line 77 of file LightManager.hpp.