]> git.tdb.fi Git - libs/gl.git/blobdiff - source/object.h
Drop Renderable::has_pass; renderables are now expected to ignore unknown passes
[libs/gl.git] / source / object.h
index 9c1ea7f7fbbf9533afab934b8d20d4df24263230..fff1e4cf281d770adf207fada79e156ca016b6e6 100644 (file)
@@ -70,8 +70,6 @@ public:
 
        const Technique *get_technique() const { return technique; }
 
-       virtual bool has_pass(const Tag &) const;
-
        /**
        Renders the object.  A tag can be provided to render a non-default pass.
        */
@@ -93,6 +91,9 @@ public:
        template<typename Iter>
        void render(Iter begin, Iter end, const Tag &tag=Tag()) const
        {
+               if(!can_render(tag))
+                       return;
+
                const ObjectPass *pass=get_pass(tag);
                setup_render(pass);
                for(Iter i=begin; i!=end; ++i)
@@ -100,6 +101,7 @@ public:
                finish_render(pass);
        }
 private:
+       bool can_render(const Tag &) const;
        const ObjectPass *get_pass(const Tag &) const;
        void setup_render(const ObjectPass *) const;
        void finish_render(const ObjectPass *) const;