X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fshadowmap.h;h=e142fc8cafdd56023459035f53d48e73205c997b;hb=46752f789ea3d23928e96ce451ea96c78c694b93;hp=5f2e16ecd950450befc7c87dc16a447957705102;hpb=d386eadfd08b556ecb05627a7ceca14652e8b1e5;p=libs%2Fgl.git diff --git a/source/shadowmap.h b/source/shadowmap.h index 5f2e16ec..e142fc8c 100644 --- a/source/shadowmap.h +++ b/source/shadowmap.h @@ -27,12 +27,15 @@ private: Framebuffer fbo; Matrix shadow_matrix; Texture2D depth_buf; + RefPtr sampler; Vector3 target; float radius; float depth_bias; mutable ProgramData shdata; bool rendered; + static WeakPtr shadow_sampler; + public: ShadowMap(unsigned, Renderable &, const Light &); @@ -52,10 +55,13 @@ public: thin objects from casting shadows on nearby sufraces. */ void set_depth_bias(float); + const Texture2D &get_depth_texture() const { return depth_buf; } + const Matrix &get_shadow_matrix() const { return shadow_matrix; } + 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