]> git.tdb.fi Git - libs/gl.git/blobdiff - source/shadowmap.h
Turn Effect into a Renderable
[libs/gl.git] / source / shadowmap.h
index c44239f2cdb73e7983a117522dc83edbe96119c5..11407462c3e1922c48cd9bb0b3725829e207f595 100644 (file)
@@ -22,16 +22,15 @@ class ShadowMap: public Effect
 {
 private:
        unsigned size;
-       const Scene &scene;
        const Light &light;
-       Framebuffer fbo;
+       mutable Framebuffer fbo;
        unsigned unit;
        Texture2D depth_buf;
        Vector3 target;
        float radius;
 
 public:
-       ShadowMap(unsigned, const Scene &, const Light &);
+       ShadowMap(unsigned, const Renderable &, const Light &);
 
        /** Sets the ShadowMap target point and radius.  The transformation matrix is
        computed so that a sphere with the specified parameters will be completely
@@ -42,8 +41,7 @@ public:
        phase.  The default is texture unit 3. */
        void set_texture_unit(unsigned);
 
-       virtual void prepare();
-       virtual void cleanup();
+       virtual void render(Renderer &, const Tag &) const;
 };
 
 } // namespace GL