#ifndef HYDRASPOTSHADOWSOURCESYSTEM #define HYDRASPOTSHADOWSOURCESYSTEM #include "../../engine/HydraObject.h" #include "../HydraSystem.h" #include "../components/HydraSpotShadowSourceComponent.h" #include #include #include #include class HydraSpotShadowSourceSystem : public HydraSystem { public: virtual void Initialise() override; protected: void InitialiseComponent(HydraID entity_id) override; void UpdateSystem(float delta_t_seconds) override; private: void _UpdateShadowMap(HydraID entity_id); void _InitialiseShadowMap(HydraID entity_id); std::mutex m_mutex; }; #endif /* HYDRASPOTSHADOWSOURCESYSTEM */