--- /dev/null
+/* $Id$
+
+This file is part of libmspgl
+Copyright © 2009 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#ifndef SHADOWMAP_H_
+#define SHADOWMAP_H_
+
+#include "effect.h"
+#include "framebuffer.h"
+#include "texture2d.h"
+#include "vector.h"
+
+namespace Msp {
+namespace GL {
+
+class Light;
+class Scene;
+
+class ShadowMap: public Effect
+{
+private:
+ unsigned size;
+ const Scene &scene;
+ const Light &light;
+ Framebuffer fbo;
+public:
+ Texture2D depth_buf;
+private:
+ Vector3 target;
+ float radius;
+
+public:
+ ShadowMap(unsigned, const Scene &, const Light &);
+ void set_target(const Vector3 &, float);
+ virtual void prepare();
+ virtual void cleanup();
+};
+
+} // namespace GL
+} // namespace Msp
+
+#endif