X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fshadowmap.cpp;h=f461c88a4279155604b0ba519f7ea98ff3d096b1;hb=d386eadfd08b556ecb05627a7ceca14652e8b1e5;hp=4ad192cad1d737cb90dc464f4e9ca7b639ca8d70;hpb=e645768be035f155e1deda931079cf1e84851a86;p=libs%2Fgl.git diff --git a/source/shadowmap.cpp b/source/shadowmap.cpp index 4ad192ca..f461c88a 100644 --- a/source/shadowmap.cpp +++ b/source/shadowmap.cpp @@ -15,7 +15,7 @@ using namespace std; namespace Msp { namespace GL { -ShadowMap::ShadowMap(unsigned s, const Renderable &r, const Light &l): +ShadowMap::ShadowMap(unsigned s, Renderable &r, const Light &l): Effect(r), size(s), light(l), @@ -56,13 +56,13 @@ void ShadowMap::set_depth_bias(float b) depth_bias = b; } -void ShadowMap::setup_frame() const +void ShadowMap::setup_frame(Renderer &renderer) { if(rendered) return; rendered = true; - renderable.setup_frame(); + renderable.setup_frame(renderer); Camera camera; const Vector4 &lpos = light.get_position(); @@ -84,11 +84,11 @@ void ShadowMap::setup_frame() const Bind bind_depth(DepthTest::lequal()); fbo.clear(DEPTH_BUFFER_BIT); - Renderer renderer(&camera); - renderable.render(renderer, "shadow"); + Renderer shadow_renderer(&camera); + renderable.render(shadow_renderer, "shadow"); } -void ShadowMap::finish_frame() const +void ShadowMap::finish_frame() { renderable.finish_frame(); rendered = false;