X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frenderer.cpp;h=6734edc4bd20458be56563bdddfd57a2589ab203;hb=7398ee7ebbd8b7e56c721a85cbe721b79758d09a;hp=fd4dc576d09ba12c526a38d0638f9f6437693a25;hpb=99c9abad967dc2925f8603fd0d202d9b6df092ed;p=libs%2Fgl.git diff --git a/source/renderer.cpp b/source/renderer.cpp index fd4dc576..6734edc4 100644 --- a/source/renderer.cpp +++ b/source/renderer.cpp @@ -5,6 +5,7 @@ #include "material.h" #include "program.h" #include "programdata.h" +#include "renderable.h" #include "renderer.h" #include "texture.h" #include "texturing.h" @@ -132,6 +133,22 @@ void Renderer::escape() Buffer::unbind_from(ELEMENT_ARRAY_BUFFER); } +void Renderer::exclude(const Renderable &renderable) +{ + excluded.insert(&renderable); +} + +void Renderer::include(const Renderable &renderable) +{ + excluded.erase(&renderable); +} + +void Renderer::render(const Renderable &renderable, const Tag &tag) +{ + if(!excluded.count(&renderable)) + renderable.render(*this, tag); +} + void Renderer::draw(const Batch &batch) { if(!vertex_array)