//
// Created by sebastian on 11.02.26.
//

#ifndef DICEWARS_SIEDLER_TEXTSHADER_H
#define DICEWARS_SIEDLER_TEXTSHADER_H
#include "ShaderProgram.h"


class TextShader : public ShaderProgram {
public :
    TextShader() : ShaderProgram(VERTEX_FILE, FRAGMENT_FILE) {
       TextShader::bindAttributes();
        TextShader::getAllUniformLocations();
    }
    void loadProjectionMatrix(glm::mat4 matrix);
    void loadTextColor(glm::vec3 color);

protected:
    void getAllUniformLocations() override;
    void bindAttributes() const override;
private:
    inline static const std::string VERTEX_FILE = "assets/shaders/textVertexShader.glsl";
    inline static const std::string FRAGMENT_FILE = "assets/shaders/textFragmentShader.glsl";

    int location_projectionMatrix;
    int location_textColor;
};


#endif //DICEWARS_SIEDLER_TEXTSHADER_H