#pragma once #include "ShaderProgram.h" namespace td { namespace shader { class EntityShader : public ShaderProgram { private: unsigned int m_LocationCam = 0; unsigned int m_LocationZoom = 0; unsigned int m_LocationAspectRatio = 0; unsigned int m_LocationTranslation = 0; unsigned int m_LocationViewtype = 0; unsigned int m_LocationColorEffect = 0; protected: virtual void GetAllUniformLocation(); public: EntityShader(); void LoadShader(); void SetCamPos(const Vec2f& camPos); void SetZoom(float zoom); void SetAspectRatio(float aspectRatio); void SetModelPos(const Vec2f& modelPos); void SetIsometricView(float isometric); void SetColorEffect(const Vec3f& color); }; } // namespace shader } // namespace td