10 #define GLSL_PROGRAM_H
12 #include <glad/glad.h>
32 const std::string fragmentShader);
34 const std::string &fragment_shader_path);
51 void compileShader(GLuint shader,
const std::string &shaderContent);
void compileShaders(const std::string &vertexShader, const std::string fragmentShader)
compiles vertex and fragment shader
Definition: glslprogram.cpp:104
void unuse()
Definition: glslprogram.cpp:180
int attribute_index_
Definition: glslprogram.h:48
void compileShadersFromFile(const std::string &vertex_shader_path, const std::string &fragment_shader_path)
Definition: glslprogram.cpp:113
Definition: glslprogram.h:19
void compileShaderFromFile(GLuint shader, const std::string &file_path)
Definition: glslprogram.cpp:66
void initShaderId()
Definition: glslprogram.cpp:86
~GlslProgram()
Definition: glslprogram.cpp:18
void compileShader(GLuint shader, const std::string &shaderContent)
compiles one shader
Definition: glslprogram.cpp:34
GLuint program_id_
compiled shader program id
Definition: glslprogram.h:45
void defaultSetup()
Definition: glslprogram.cpp:188
void linkShaders()
Definition: glslprogram.cpp:124
GLuint fragment_shader_id_
Definition: glslprogram.h:47
void addAttribute(const std::string &attribute_name)
Definition: glslprogram.cpp:157
void use()
Definition: glslprogram.cpp:172
GLuint vertex_shader_id_
Definition: glslprogram.h:46
GlslProgram & operator=(const GlslProgram &)=delete
GLint getUniformLocation(const std::string &uniform_name)
Definition: glslprogram.cpp:163