X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fshadowmap.cpp;h=0390bdcbc5baa0c56540ae485dbcedad572d2390;hb=e1e7bc3e7720525cf05eb78704d5ad606cfec164;hp=d8853d9e3e229f5eff23631e437fc20eaea8ffd0;hpb=d031a80ea06e3ccd01041e9c6024fa62adf25160;p=libs%2Fgl.git diff --git a/source/shadowmap.cpp b/source/shadowmap.cpp index d8853d9e..0390bdcb 100644 --- a/source/shadowmap.cpp +++ b/source/shadowmap.cpp @@ -2,13 +2,10 @@ #include #include "camera.h" #include "light.h" -#include "matrix.h" -#include "misc.h" #include "renderer.h" #include "scene.h" #include "shadowmap.h" #include "tests.h" -#include "texunit.h" using namespace std; @@ -56,13 +53,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 +81,13 @@ void ShadowMap::setup_frame() const Bind bind_depth(DepthTest::lequal()); fbo.clear(DEPTH_BUFFER_BIT); - Renderer renderer(&camera); - renderable.render(renderer, "shadow"); + Renderer::Push push(renderer); + renderer.set_camera(camera); + + renderer.render(renderable, "shadow"); } -void ShadowMap::finish_frame() const +void ShadowMap::finish_frame() { renderable.finish_frame(); rendered = false;