19 #ifndef MIR_COMPOSITOR_GL_RENDERER_H_
20 #define MIR_COMPOSITOR_GL_RENDERER_H_
30 #include <GLES2/gl2.h>
31 #include <unordered_map>
32 #include <unordered_set>
47 std::unique_ptr<graphics::GLTextureCache> && texture_cache,
54 void begin()
const override;
56 void end()
const override;
77 virtual void tessellate(std::vector<graphics::GLPrimitive>& primitives,
85 std::unique_ptr<graphics::GLProgram> program;
86 std::unique_ptr<graphics::GLTextureCache>
mutable texture_cache;
87 GLuint position_attr_loc;
88 GLuint texcoord_attr_loc;
89 GLuint centre_uniform_loc;
90 GLuint display_transform_uniform_loc;
91 GLuint transform_uniform_loc;
92 GLuint alpha_uniform_loc;
97 std::vector<graphics::GLPrimitive>
mutable primitives;
103 #endif // MIR_COMPOSITOR_GL_RENDERER_H_
DestinationAlpha
Definition: destination_alpha.h:27
All things Mir.
Definition: aging_buffer.h:24
void render(graphics::RenderableList const &) const override
Definition: gl_renderer.cpp:114
virtual void tessellate(std::vector< graphics::GLPrimitive > &primitives, graphics::Renderable const &renderable) const
tessellate defines the list of triangles that will be used to render the surface. ...
Definition: gl_renderer.cpp:107
Definition: renderer.h:32
GLRenderer(graphics::GLProgramFactory const &program_factory, std::unique_ptr< graphics::GLTextureCache > &&texture_cache, geometry::Rectangle const &display_area, DestinationAlpha dest_alpha)
Definition: gl_renderer.cpp:72
Definition: gl_program_factory.h:31
std::list< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:88
Definition: gl_renderer.h:42
Definition: renderable.h:33
void set_rotation(float degrees) override
Definition: gl_renderer.cpp:224
void set_viewport(geometry::Rectangle const &rect) override
Definition: gl_renderer.cpp:180
void suspend() override
Definition: gl_renderer.cpp:262
DestinationAlpha destination_alpha() const
Definition: gl_renderer.cpp:267
Definition: rectangle.h:33
void end() const override
Definition: gl_renderer.cpp:257
void begin() const override
Definition: gl_renderer.cpp:243