X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffect.h;h=dfb369614c28c2388b1dcdd249e20e4d331224ec;hb=a0649c972e30f001ee825cdd9e3981fe361b82a0;hp=eb207745a847ae0cdf59b4609206d79a374597be;hpb=936a307eaf8dafd0874c74d211e991bd81a74387;p=libs%2Fgl.git diff --git a/source/effect.h b/source/effect.h index eb207745..dfb36961 100644 --- a/source/effect.h +++ b/source/effect.h @@ -1,23 +1,28 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2009 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_GL_EFFECT_H_ #define MSP_GL_EFFECT_H_ +#include +#include "renderable.h" + namespace Msp { namespace GL { -class Effect +/** +Effects are used to wrap other renderables and give them additional visual +properties. +*/ +class Effect: public Renderable { +protected: + const Renderable &renderable; + std::set enabled_passes; + + Effect(const Renderable &); public: virtual ~Effect() { } - virtual void prepare() =0; - virtual void cleanup() =0; + void enable_for_pass(const Tag &); + void disable_for_pass(const Tag &); }; } // namespace GL