]> git.tdb.fi Git - libs/gl.git/blobdiff - source/shadowmap.h
Reimplement Animation using splines
[libs/gl.git] / source / shadowmap.h
index 57adf298fd27271bff0e8f4bb80ea2f916c7fba0..c2c104aca9c69d4d32a669f4f508e4c4d5faa3d6 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef SHADOWMAP_H_
-#define SHADOWMAP_H_
+#ifndef MSP_GL_SHADOWMAP_H_
+#define MSP_GL_SHADOWMAP_H_
 
 #include "effect.h"
 #include "framebuffer.h"
@@ -24,19 +24,17 @@ class ShadowMap: public Effect
 private:
        unsigned size;
        const Light &light;
-       mutable Framebuffer fbo;
-       mutable Matrix light_matrix;
-       mutable Matrix view_matrix;
-       mutable Matrix shadow_matrix;
+       Framebuffer fbo;
+       Matrix shadow_matrix;
        Texture2D depth_buf;
        Vector3 target;
        float radius;
        float depth_bias;
        mutable ProgramData shdata;
-       mutable bool rendered;
+       bool rendered;
 
 public:
-       ShadowMap(unsigned, const Renderable &, const Light &);
+       ShadowMap(unsigned, 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
@@ -54,10 +52,10 @@ public:
        thin objects from casting shadows on nearby sufraces. */
        void set_depth_bias(float);
 
-       virtual void setup_frame() const;
-       virtual void finish_frame() const;
+       virtual void setup_frame(Renderer &);
+       virtual void finish_frame();
 
-       virtual void render(Renderer &, const Tag &) const;
+       virtual void render(Renderer &, const Tag & = Tag()) const;
 };
 
 } // namespace GL