// // Created by sebastian on 09.02.26. // #ifndef GUISHADER_H #define GUISHADER_H #include "ShaderProgram.h" class GUIShader: public ShaderProgram { public: GUIShader() : ShaderProgram(VERTEX_FILE, FRAGMENT_FILE) { GUIShader::bindAttributes(); GUIShader::getAllUniformLocations(); }; void loadTransformationMatrix(glm::mat4 matrix); void loadShaderEffect(float brightness, glm::vec3 tintColor, float tintStrength); private: inline static const std::string VERTEX_FILE = "assets/shaders/guiVertexShader.glsl"; inline static const std::string FRAGMENT_FILE = "assets/shaders/guiFragmentShader.glsl"; int location_transformationMatrix; int location_brightness; int location_tintColor; int location_tintStrength; protected: void getAllUniformLocations() override; void bindAttributes() const override; }; #endif //GUISHADER_H