namespace GL {
class Light;
-class Resources;
/**
Creates shadows on a renderable through a shadow map texture. In the setup
private:
unsigned size;
const Light &light;
+ Renderable &shadow_caster;
Framebuffer fbo;
Camera shadow_camera;
Matrix shadow_matrix;
Vector3 target;
float radius;
float depth_bias;
- mutable ProgramData shdata;
+ ProgramData shdata;
bool rendered;
public:
- ShadowMap(Resources &, unsigned, Renderable &, const Light &);
+ ShadowMap(unsigned, Renderable &, const Light &, Renderable &);
/** Sets the ShadowMap target point and radius. The transformation matrix is
computed so that a sphere with the specified parameters will be completely
virtual void finish_frame();
virtual void render(Renderer &, Tag = Tag()) const;
+
+ virtual void set_debug_name(const std::string &);
};
} // namespace GL