X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffects%2Fshadowmap.cpp;h=bf07577878476506ad815a95f2144e4aaef98d07;hb=1b23728908f5ec9beb08b2b70737c3903745fddc;hp=bcdb0c9f39ef6ec24ac5ac3121f8a8b3bd0be64b;hpb=6353307898cd397e2bcde13e2448a8a678a60004;p=libs%2Fgl.git diff --git a/source/effects/shadowmap.cpp b/source/effects/shadowmap.cpp index bcdb0c9f..bf075778 100644 --- a/source/effects/shadowmap.cpp +++ b/source/effects/shadowmap.cpp @@ -14,29 +14,14 @@ namespace GL { ShadowMap::ShadowMap(unsigned s, Renderable &r, const Light &l, Renderable &c): Effect(r), + size(s), light(l), shadow_caster(c), - sampler(Resources::get_global().get("_linear_clamp_shadow.samp")) + sampler(Resources::get_global().get("_linear_clamp_shadow.samp")), + radius(1), + depth_bias(4), + rendered(false) { - init(s); -} - -ShadowMap::ShadowMap(unsigned s, Renderable &r, const Light &l): - Effect(r), - light(l), - shadow_caster(r), - sampler(Resources::get_global().get("_linear_clamp_shadow.samp")) -{ - init(s); -} - -void ShadowMap::init(unsigned s) -{ - size = s; - radius = 1; - depth_bias = 4; - rendered = false; - depth_buf.storage(DEPTH_COMPONENT32F, size, size, 1); fbo.set_format((DEPTH_ATTACHMENT,DEPTH_COMPONENT32F)); fbo.attach(DEPTH_ATTACHMENT, depth_buf, 0); @@ -95,7 +80,6 @@ void ShadowMap::setup_frame(Renderer &renderer) Renderer::Push push(renderer); renderer.set_framebuffer(&fbo); - renderer.clear(DEPTH_BUFFER_BIT); renderer.set_camera(shadow_camera); renderer.set_depth_test(&depth_test); @@ -123,7 +107,7 @@ void ShadowMap::render(Renderer &renderer, Tag tag) const renderer.render(renderable, tag); } -void ShadowMap::set_debug_name(const std::string &name) +void ShadowMap::set_debug_name(const string &name) { #ifdef DEBUG fbo.set_debug_name(name+" [FBO]");