#pragma once #include #include #include #include #include #include class Shader { private: char* readFile (const char* filePath); public: Shader(const std::string vertexShaderPath, const std::string fragmentShaderPath); void Use(); void setUniformMat4(std::string uniformName, glm::mat4 matrix4)const; void setUniformVec4(std::string uniformName, glm::vec4 vector4)const; void setUniformVec3(std::string uniformName, glm::vec3 vector3)const; void setUniformVec2(std::string uniformName, glm::vec2 vector2)const; void setUniformFloat(std::string uniformName, float value)const; void setUniformInt(std::string uniformName, int value) const ; int id; };