X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffects%2Feffect.h;h=9bf49c22b812a585200a0c28890932dcadadf093;hb=5542f100cd82561aae4605dfca5a58b0eec8e2ae;hp=bc9e19ec818f2a392889866bdf36428c7c00024b;hpb=7aaec9a70b8d7733429bec043f8e33e02956f266;p=libs%2Fgl.git diff --git a/source/effects/effect.h b/source/effects/effect.h index bc9e19ec..9bf49c22 100644 --- a/source/effects/effect.h +++ b/source/effects/effect.h @@ -2,14 +2,11 @@ #define MSP_GL_EFFECT_H_ #include -#include #include "renderable.h" namespace Msp { namespace GL { -class Sampler; - /** Effects are used to wrap other renderables and give them additional visual properties. An Effect's render method should set up the necessary state, call @@ -19,18 +16,15 @@ class Effect: public Renderable { protected: Renderable &renderable; - std::set enabled_passes; - -private: - static WeakPtr linear_sampler; + std::set enabled_methods; protected: Effect(Renderable &); public: virtual ~Effect() { } - void enable_for_pass(const Tag &); - void disable_for_pass(const Tag &); + void enable_for_method(Tag); + void disable_for_method(Tag); virtual const Matrix *get_matrix() const { return renderable.get_matrix(); } virtual const Geometry::BoundingSphere *get_bounding_sphere() const { return renderable.get_bounding_sphere(); } @@ -38,8 +32,7 @@ public: virtual void setup_frame(Renderer &r) { renderable.setup_frame(r); } virtual void finish_frame() { renderable.finish_frame(); } -protected: - static RefPtr get_linear_sampler(); + virtual void set_debug_name(const std::string &) = 0; }; } // namespace GL