8 #include <unordered_map>
46 Shader(
const std::string &filepath);
53 void setUniform3f(
const std::string &name, glm::vec3 value);
54 void setUniform4f(
const std::string &name, glm::vec4 value);
59 const std::string &fragment_shader);
Definition: shader.hpp:30
void setUniformMat4f(const std::string &name, const glm::mat4 &matrix)
Definition: shader.cpp:167
GLint getUniformLocation(const std::string &name)
Definition: shader.cpp:185
void setUniform3f(const std::string &name, glm::vec3 value)
Definition: shader.cpp:143
GLuint createShader(const std::string &vertex_shader, const std::string &fragment_shader)
Definition: shader.cpp:34
void unbind() const
Definition: shader.cpp:134
ShaderProgramSource parseShader(const std::string &filepath)
Definition: shader.cpp:93
Shader(const std::string &filepath)
Definition: shader.cpp:13
GLuint m_buffer_id
Definition: shader.hpp:35
GLuint compileShader(GLuint type, const std::string &source)
Definition: shader.cpp:60
void bind() const
Definition: shader.cpp:126
void setUniform4f(const std::string &name, glm::vec4 value)
Definition: shader.cpp:155
std::unordered_map< std::string, GLint > m_uniformLocationCache
Definition: shader.hpp:43
~Shader()
Definition: shader.cpp:23
Definition: shader.hpp:15
std::string fragment_src
Código fonte do fragment shader.
Definition: shader.hpp:20
std::string vertex_src
Código fonte do vertex shader.
Definition: shader.hpp:17