#ifndef HYDRALIGHTBUFFERMANAGER #define HYDRALIGHTBUFFERMANAGER #include "../engine/HydraObject.h" #include "HydraLightBuffer.h" #include #include #include class HydraLightBufferManager : public HydraObject { public: void Initialise(); void Shutdown(); HydraID CreateLight(HydraLightBuffer light_buffer); HydraLightBuffer* const GetLightBufferBase(); HydraLightBuffer& GetLightBuffer(HydraID light_id); uint32_t GetLightCount(); private: std::mutex m_mutex; uint32_t m_light_count = 0; std::vector m_lights; std::queue m_available_lights; std::vector m_light_lookup; }; #endif /* HYDRALIGHTBUFFERMANAGER */