18 #ifndef __H__OCULAR_CORE_LIGHT_MANAGER__H__
19 #define __H__OCULAR_CORE_LIGHT_MANAGER__H__
21 #include "Scene/Light/LightSource.hpp"
22 #include "Scene/Light/GPULight.hpp"
23 #include "Math/Geometry/Frustum.hpp"
26 #include <unordered_map>
112 void updateUUID(
UUID const& uuid);
114 void getVisibleLights(std::vector<LightSource*>& visibleLights,
bool cull);
120 void buildGPUBuffer(uint32_t visibleCount);
121 void fillGPUBuffer(std::vector<LightSource*>
const& visibleLights);
125 std::unordered_map<std::string, LightSource*> m_Lights;
126 std::vector<GPULight> m_GPULights;
129 uint32_t m_BufferLightCapacity;
130 uint32_t m_PrevNumVisible;
void setAmbientLightColor(Color const &color)
Definition: LightManager.cpp:70
Definition: Frustum.hpp:57
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
void updateLights(bool cullVisible=true)
Definition: LightManager.cpp:58
A generic buffer that can be uploaded to the GPU.
Definition: GPUBuffer.hpp:81
Definition: LightManager.hpp:66
float getAmbientLightIntensity() const
Definition: LightManager.cpp:85
static const uint32_t LightBufferSlot
The GPUBuffer slot used by the LightManager to pass light data.
Definition: LightManager.hpp:106
Structure of generic light data passed to the GPU.
Definition: GPULight.hpp:44
void setAmbientLightIntensity(float intensity)
Definition: LightManager.cpp:80
Definition: LightSource.hpp:43
Color getAmbientLightColor() const
Definition: LightManager.cpp:75