X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frenderer.cpp;h=19811146235ec6622c0917a1536190490597bff8;hp=76ac5846f2aad1e9417780e39d87f3c816a81088;hb=6a832fe1771f8c7bca0faa0d383fbbab062a1c56;hpb=5b71f1bf0d152486c0f6fe03c853992c57530369 diff --git a/source/renderer.cpp b/source/renderer.cpp index 76ac5846..19811146 100644 --- a/source/renderer.cpp +++ b/source/renderer.cpp @@ -22,6 +22,7 @@ namespace Msp { namespace GL { Renderer::Renderer(const Camera *c): + default_camera(c), changed(0), matrices_loaded(false), state_stack(1) @@ -206,6 +207,10 @@ void Renderer::end() throw invalid_operation("Renderer::end"); *state = State(); + if(default_camera) + set_camera(*default_camera); + else + standard_shdata.uniform("projection_matrix", Matrix()); shdata_stack.clear(); excluded.clear(); @@ -265,14 +270,15 @@ void Renderer::apply_state() changed */ bool legacy_bindings = (!state->shprog || state->shprog->uses_legacy_variables()); + bool legacy_textures = !state->shprog; if(state->texturing) - state->texturing->bind(); + state->texturing->bind(legacy_textures); else { Texturing::unbind(); if(state->texture) - state->texture->bind_to(0); + state->texture->bind_to(0, legacy_textures); else Texture::unbind_from(0); }