X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fobjectrenderer.h;h=8f52aa00c95065b6ed99a92e6ee9b6a52cdb0aa6;hb=67fbce330b046b1f0d63222f04d83410dc1b2faa;hp=602b461e5083273d1a0421c3d730cd106420af66;hpb=87b1d05df45663252c86a03cb2c713c6dc3e9a98;p=ipdf%2Fcode.git diff --git a/src/objectrenderer.h b/src/objectrenderer.h index 602b461..8f52aa0 100644 --- a/src/objectrenderer.h +++ b/src/objectrenderer.h @@ -11,6 +11,7 @@ #include "shaderprogram.h" #include "bufferbuilder.h" + namespace IPDF { class View; @@ -121,12 +122,25 @@ namespace IPDF float x0, y0; float x1, y1; float x2, y2; + float x3, y3; }; GLuint m_bezier_buffer_texture; GLuint m_bezier_id_buffer_texture; }; + + /** Renderer for filled circles **/ + class GroupRenderer : public ObjectRenderer + { + public: + GroupRenderer() : ObjectRenderer(GROUP, "shaders/rect_vert.glsl", "shaders/rect_frag.glsl", "shaders/rect_outline_geom.glsl") {} + virtual ~GroupRenderer() {} + virtual void RenderUsingCPU(const Objects & objects, const View & view, const CPURenderTarget & target, unsigned first_obj_id, unsigned last_obj_id); + // do nothing on GPU + virtual void RenderUsingGPU(unsigned first_obj_id, unsigned last_obj_id) {} + }; + } #endif //_OBJECT_RENDERER_H