//
// Created by sebastian on 24.12.25.
//

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


class StaticShader: public ShaderProgram
{
public:
    StaticShader();
    void loadTransformationMatrix(glm::mat4 matrix);
    void loadProjectionMatrix(glm::mat4 matrix);
    void loadViewMatrix(glm::mat4 matrix);
    void loadLight(glm::vec3 position, glm::vec3 color);
private:
    inline static const std::string VERTEX_FILE = "assets/shaders/vertexShader.glsl";
    inline static const std::string FRAGMENT_FILE = "assets/shaders/fragmentShader.glsl";

    int location_transformationMatrix;
    int location_projectionMatrix;
    int location_viewMatrix;
    int location_lightPosition;
    int location_lightColor;

protected:
    void bindAttributes() const override;
    void getAllUniformLocations() override;
};


#endif //DICEWARS_SIEDLER_STATICSHADER_H