Framebuffer fbo;
Matrix shadow_matrix;
Texture2D depth_buf;
+ RefPtr<Sampler> sampler;
Vector3 target;
float radius;
float depth_bias;
mutable ProgramData shdata;
bool rendered;
+ static WeakPtr<Sampler> shadow_sampler;
+
public:
ShadowMap(unsigned, Renderable &, const Light &);
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