19 #ifndef MIR_COMPOSITOR_GL_PROGRAM_FAMILY_H_
20 #define MIR_COMPOSITOR_GL_PROGRAM_FAMILY_H_
22 #include <GLES2/gl2.h>
25 #include <unordered_map>
27 namespace mir {
namespace compositor {
45 GLuint
add_program(
const GLchar*
const static_vshader_src,
46 const GLchar*
const static_fshader_src);
52 void init(GLenum
type,
const GLchar* src);
54 typedef std::unordered_map<const GLchar*, Shader> ShaderMap;
55 ShaderMap vshader, fshader;
57 typedef std::pair<GLuint, GLuint> ShaderPair;
62 std::map<ShaderPair, Program> program;
67 #endif // MIR_COMPOSITOR_GL_PROGRAM_FAMILY_H_
All things Mir.
Definition: buffer_stream.h:37
GLProgramFamily()=default
GLProgramFamily represents a set of GLSL programs that are closely related.
Definition: gl_program_family.h:37
GLProgramFamily & operator=(GLProgramFamily const &)=delete
~GLProgramFamily() noexcept
Definition: gl_program_family.cpp:50
GLuint add_program(const GLchar *const static_vshader_src, const GLchar *const static_fshader_src)
Definition: gl_program_family.cpp:75