X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Feffect.h;h=c55aebf95a5c0363e459a4c010fa79c89ad018e0;hp=7eeae682dffb00d593601b94e9eca82735a23f2e;hb=7af837734a28a14b3e24a421187d12ecd16572d0;hpb=904de4f7fd994886adbd3a6c03bc1b7c14ebc562 diff --git a/source/effect.h b/source/effect.h index 7eeae682..c55aebf9 100644 --- a/source/effect.h +++ b/source/effect.h @@ -15,15 +15,21 @@ the wrapped Renderable's render method, and clean up after itself. class Effect: public Renderable { protected: - const Renderable &renderable; + Renderable &renderable; std::set enabled_passes; - Effect(const Renderable &); + Effect(Renderable &); public: virtual ~Effect() { } void enable_for_pass(const Tag &); void disable_for_pass(const Tag &); + + virtual const Matrix *get_matrix() const { return renderable.get_matrix(); } + virtual const Geometry::BoundingSphere *get_bounding_sphere() const { return renderable.get_bounding_sphere(); } + + virtual void setup_frame(Renderer &r) { renderable.setup_frame(r); } + virtual void finish_frame() { renderable.finish_frame(); } }; } // namespace GL