X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fobjectrenderer.h;h=9ea8a12ef13b40c4302af92925c2d9a6fd2fa295;hp=5a6536325cb85b622c60fc314bfb22adc28e8e90;hb=2d12d37f1657d6aef9bb80d735b6c7022aecba6e;hpb=b29310a04a51cd7d39d0858e2dec8a75c15cf097 diff --git a/src/objectrenderer.h b/src/objectrenderer.h index 5a65363..9ea8a12 100644 --- a/src/objectrenderer.h +++ b/src/objectrenderer.h @@ -11,6 +11,7 @@ #include "shaderprogram.h" #include "bufferbuilder.h" +#define BEZIER_CPU_DECASTELJAU namespace IPDF { @@ -143,7 +144,7 @@ namespace IPDF virtual void RenderUsingCPU(Objects & objects, const View & view, const CPURenderTarget & target, unsigned first_obj_id, unsigned last_obj_id); void PrepareBezierGPUBuffer(Objects & objects); - static void RenderBezierOnCPU(unsigned index, Objects & objects, const View & view, const CPURenderTarget & target, const Colour & c=Colour(0,0,0,255)); + static void RenderBezierOnCPU(const Bezier & relative, const Rect & bounds, const View & view, const CPURenderTarget & target, const Colour & c=Colour(0,0,0,255)); private: GraphicsBuffer m_bezier_coeffs; @@ -165,11 +166,12 @@ namespace IPDF class PathRenderer : public ObjectRenderer { public: - PathRenderer() : ObjectRenderer(PATH, "shaders/rect_vert.glsl", "shaders/rect_frag.glsl", "shaders/rect_outline_geom.glsl") {} + PathRenderer() : ObjectRenderer(PATH, "shaders/rect_vert.glsl", "shaders/rect_frag.glsl", "shaders/bezier_texbug_geom.glsl") {} virtual ~PathRenderer() {} virtual void RenderUsingCPU(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) {} + }; class FakeRenderer : public ObjectRenderer