#ifndef HYDRADIRECTIONALSHADOWSOURCESYSTEM #define HYDRADIRECTIONALSHADOWSOURCESYSTEM #include "../../engine/HydraObject.h" #include "../HydraSystem.h" #include "../components/HydraDirectionalShadowSourceComponent.h" #include #include #include #include class HydraDirectionalShadowSourceSystem : 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 /* HYDRASHADOWCASTERSYSTEM */