19 #ifndef MIR_RENDERER_GL_PROGRAM_FAMILY_H_
20 #define MIR_RENDERER_GL_PROGRAM_FAMILY_H_
22 #include <GLES2/gl2.h>
25 #include <unordered_map>
50 GLuint
add_program(
const GLchar*
const static_vshader_src,
51 const GLchar*
const static_fshader_src);
57 void init(GLenum type,
const GLchar* src);
59 typedef std::unordered_map<const GLchar*, Shader> ShaderMap;
60 ShaderMap vshader, fshader;
62 typedef std::pair<GLuint, GLuint> ShaderPair;
67 std::map<ShaderPair, Program> program;
74 #endif // MIR_RENDERER_GL_PROGRAM_FAMILY_H_
All things Mir.
Definition: atomic_callback.h:25
ProgramFamily & operator=(ProgramFamily const &)=delete
~ProgramFamily() noexcept
Definition: program_family.cpp:56
ProgramFamily represents a set of GLSL programs that are closely related.
Definition: program_family.h:42
GLuint add_program(const GLchar *const static_vshader_src, const GLchar *const static_fshader_src)
Definition: program_family.cpp:85