X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Frenderer.h;h=1cbcdc60546b93f0cccc2db6ee5cb95a27107b39;hb=2a2917f41f02fa12e9354616d76bf45c9b5bf3e6;hp=a0b4e75fdf2ece24b7e082787258b63238080762;hpb=b95aa29809038b39e6729f4e53af0dfb545bfcdc;p=libs%2Fgl.git diff --git a/source/render/renderer.h b/source/render/renderer.h index a0b4e75f..1cbcdc60 100644 --- a/source/render/renderer.h +++ b/source/render/renderer.h @@ -100,6 +100,7 @@ private: SHADER_DATA = 16 }; + unsigned frame_index = 0; unsigned char changed = 0; std::vector state_stack; State *current_state = 0; @@ -110,7 +111,6 @@ private: public: Renderer(); - ~Renderer(); /** Begins rendering, allowing commands to be issued. */ void begin(); @@ -119,6 +119,9 @@ public: commands are allowed before the next call to begin(). */ void end(); + using RendererBackend::begin; + using RendererBackend::end; + /** Saves the current state so it can be restored later. */ void push_state(); @@ -174,7 +177,10 @@ public: void set_object_lod_bias(unsigned); unsigned get_object_lod_bias() const { return get_state().object_lod_bias; } - void clear(const ClearValue *); + /** Clears framebuffer contents. If values is not null, it must contain one + element for each attachment. Otherwise the framebuffer contents are + discarded and become undefined. */ + void clear(const ClearValue *values); /** Draws a batch of primitives. A shader must be active. */ void draw(const Batch &);