X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Frenderer.h;h=0fa19346042ea1f5980c478e5dabd305bf66ab6a;hb=HEAD;hp=9335164b38477993d9202db61f9f140e67cfb232;hpb=99c6b7501afa7a712fdd61c8f1f1ecd6937a9783;p=libs%2Fgl.git diff --git a/source/render/renderer.h b/source/render/renderer.h index 9335164b..0fa19346 100644 --- a/source/render/renderer.h +++ b/source/render/renderer.h @@ -152,7 +152,7 @@ public: void push_state(); /** Restores a previously saved state. Must be matched with an earlier - push_state call. */ + push_state() call. */ void pop_state(); private: @@ -197,6 +197,7 @@ public: void set_texture(Tag, const Texture *, const Sampler * = 0); void set_texture(Tag, const Texture *, int, const Sampler * = 0); + void set_storage_texture(Tag, const Texture *); private: template @@ -227,12 +228,20 @@ public: /** Draws a batch of primitives. A shader must be active. */ void draw(const Batch &); - /** Draws multiple instances of a batch of primitives. A shader must be active. */ + /** Draws multiple instances of a batch of primitives. A shader must be + active. */ void draw_instanced(const Batch &, unsigned); +private: + void apply_batch(const Batch &); + +public: + /** Dispatches a compute operation. */ + void dispatch(unsigned, unsigned = 1, unsigned = 1); + /** Resolves multisample attachments from the active framebuffer into - target. */ - void resolve_multisample(Framebuffer &target); + their corresponding resolve attachments. */ + void resolve_multisample(); void begin_query(const QueryPool &, unsigned); void end_query(const QueryPool &, unsigned);