]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/shadowmap.h
Move lighting calculations to world space
[libs/gl.git] / source / effects / shadowmap.h
index d7b4eef970160f34503bb51ed23096991a4035f7..d618c0616d748d89f97fecdb27e3d4dafa178305 100644 (file)
@@ -25,6 +25,7 @@ class ShadowMap: public Effect
 private:
        unsigned size;
        const Light &light;
+       Renderable &shadow_caster;
        Framebuffer fbo;
        Camera shadow_camera;
        Matrix shadow_matrix;
@@ -33,12 +34,16 @@ private:
        Vector3 target;
        float radius;
        float depth_bias;
-       mutable ProgramData shdata;
+       ProgramData shdata;
        bool rendered;
 
 public:
-       ShadowMap(Resources &, unsigned, Renderable &, const Light &);
+       ShadowMap(Resources &, unsigned, Renderable &, const Light &, Renderable &);
+       DEPRECATED ShadowMap(Resources &, unsigned, Renderable &, const Light &);
+private:
+       void init(unsigned);
 
+public:
        /** Sets the ShadowMap target point and radius.  The transformation matrix is
        computed so that a sphere with the specified parameters will be completely
        covered by the ShadowMap. */