19 #ifndef MIR_COMPOSITOR_GL_RENDERER_H_
20 #define MIR_COMPOSITOR_GL_RENDERER_H_
25 #include <GLES2/gl2.h>
26 #include <unordered_map>
43 void begin()
const override;
46 void end()
const override;
85 virtual void tessellate(std::vector<Primitive>& primitives,
100 GLuint fragment_shader;
102 GLuint position_attr_loc;
103 GLuint texcoord_attr_loc;
104 GLuint centre_uniform_loc;
105 GLuint display_transform_uniform_loc;
106 GLuint transform_uniform_loc;
107 GLuint alpha_uniform_loc;
119 mutable std::unordered_map<SurfaceID, Texture> textures;
120 mutable bool skipped =
false;
127 #endif // MIR_COMPOSITOR_GL_RENDERER_H_
GLenum type
Definition: gl_renderer.h:59
Definition: gl_renderer.h:57
void render(graphics::Renderable const &renderable, graphics::Buffer &buffer) const override
Definition: gl_renderer.cpp:214
GLRenderer(geometry::Rectangle const &display_area)
Definition: gl_renderer.cpp:94
Definition: buffer_id.h:27
Definition: renderer.h:34
GLfloat position[3]
Definition: gl_renderer.h:53
virtual void tessellate(std::vector< Primitive > &primitives, graphics::Renderable const &renderable, geometry::Size const &buf_size) const
tessellate defines the list of triangles that will be used to render the surface. ...
Definition: gl_renderer.cpp:186
Definition: gl_renderer.h:34
std::vector< Vertex > vertices
Definition: gl_renderer.h:61
Definition: renderable.h:33
GLfloat texcoord[2]
Definition: gl_renderer.h:54
void set_rotation(float degrees) override
Definition: gl_renderer.cpp:344
void set_viewport(geometry::Rectangle const &rect) override
Definition: gl_renderer.cpp:300
void suspend() override
Definition: gl_renderer.cpp:388
Definition: gl_renderer.h:51
virtual ~GLRenderer() noexcept
Definition: gl_renderer.cpp:174
Definition: rectangle.h:33
void end() const override
Definition: gl_renderer.cpp:368
virtual GLuint load_texture(graphics::Renderable const &renderable, graphics::Buffer &buffer) const
Load the texture for a surface any which way you like.
Definition: gl_renderer.cpp:271
GLuint tex_id
Definition: gl_renderer.h:60
void begin() const override
Definition: gl_renderer.cpp:363