X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fshadowmap.cpp;h=86715fca956ed549c5723a110a86f2bc4e6c94c0;hb=6fd9b09f47ff6a07bd5ca7f9e8887db3486bfcb1;hp=d380257d83fc6910b4bab5a181b765ebfd41ebc4;hpb=2b779717e42b514210f7128cf9aee2276650e003;p=libs%2Fgl.git diff --git a/source/shadowmap.cpp b/source/shadowmap.cpp index d380257d..86715fca 100644 --- a/source/shadowmap.cpp +++ b/source/shadowmap.cpp @@ -144,7 +144,7 @@ void ShadowMap::render(Renderer &renderer, const Tag &tag) const if(!enabled_passes.count(tag)) return renderer.render(renderable, tag); - const double *matrix = light_matrix.data(); + const float *matrix = light_matrix.data(); // Has side effect of changing the current unit depth_buf.bind_to(unit); @@ -153,20 +153,18 @@ void ShadowMap::render(Renderer &renderer, const Tag &tag) const tg_s.set_plane(Vector4(matrix[0]/diam, matrix[4]/diam, matrix[8]/diam, matrix[12]/diam+0.5f)); tg_t.set_plane(Vector4(matrix[1]/diam, matrix[5]/diam, matrix[9]/diam, matrix[13]/diam+0.5f)); tg_r.set_plane(Vector4(-matrix[2]/diam, -matrix[6]/diam, -matrix[10]/diam, 0.5f-matrix[14]/diam-depth_bias/size)); - tg_s.bind_to(SCOORD); - tg_t.bind_to(TCOORD); - tg_r.bind_to(RCOORD); - TexUnit::activate(0); + tg_s.bind_to(unit, SCOORD); + tg_t.bind_to(unit, TCOORD); + tg_r.bind_to(unit, RCOORD); Renderer::Push _push_rend(renderer); renderer.add_shader_data(shdata); renderer.render(renderable, tag); Texture::unbind_from(unit); - TexGen::unbind_from(SCOORD); - TexGen::unbind_from(TCOORD); - TexGen::unbind_from(RCOORD); - TexUnit::activate(0); + TexGen::unbind_from(unit, SCOORD); + TexGen::unbind_from(unit, TCOORD); + TexGen::unbind_from(unit, RCOORD); } } // namespace GL