+
+ /** Sets the darkness of shadows. Must be in the range between 0.0 and 1.0,
+ inclusive. Only usable with shaders, and provided through the
+ shadow_darkness uniform. */
+ void set_darkness(float);
+
+ /** Sets a distance beyond objects from which the shadow starts. Expressed
+ in pixel-sized units. Must be positive; values less than 1.0 are not
+ recommended. Larger values produce less depth artifacts, but may prevent
+ thin objects from casting shadows on nearby sufraces. */
+ void set_depth_bias(float);
+
+ /** Sets the texture unit to bind the shadow map to during the rendering
+ phase. Provided to shaders through the shadow and shadow_unit uniforms.
+ The default is texture unit 3. */
+ void set_texture_unit(unsigned);
+
+ virtual void setup_frame() const;
+ virtual void finish_frame() const;
+
+ virtual void render(Renderer &, const Tag &) const;