]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderer.cpp
Make animation curve creation more generic
[libs/gl.git] / source / renderer.cpp
index 76ac5846f2aad1e9417780e39d87f3c816a81088..19811146235ec6622c0917a1536190490597bff8 100644 (file)
@@ -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);
        }