X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Feffects%2Fshadowmap.cpp;h=41a97f806b1da20480374f98fe99ac2e1071ed7a;hp=e43e9bdeb97392f8439e22c2351b3fa8bc7fa787;hb=6f39983060a27634c012f66c82fea0d09fea9774;hpb=3af09f06e9f69532e5adfe6bcd9a7b2d1aea6d5b diff --git a/source/effects/shadowmap.cpp b/source/effects/shadowmap.cpp index e43e9bde..41a97f80 100644 --- a/source/effects/shadowmap.cpp +++ b/source/effects/shadowmap.cpp @@ -93,15 +93,6 @@ void ShadowMap::render(Renderer &renderer, Tag tag) const if(!enabled_passes.count(tag)) return renderer.render(renderable, tag); - Renderer::Push _push_rend(renderer); - - unsigned unit = renderer.allocate_effect_texunit(); - int iunit = unit; - shdata.uniform("shadow_map", iunit); - - Bind _bind_sampler(sampler, unit); - Bind _bind_depth(depth_buf, unit); - if(const Camera *camera = renderer.get_camera()) /* Multiply by camera's object matrix to form a matrix that transforms from eye space to shadow space. */ @@ -109,6 +100,9 @@ void ShadowMap::render(Renderer &renderer, Tag tag) const else shdata.uniform("shd_eye_matrix", shadow_matrix); + Renderer::Push _push_rend(renderer); + + renderer.set_texture("shadow_map", &depth_buf, &sampler); renderer.add_shader_data(shdata); renderer.render(renderable, tag); }