]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderer.cpp
Fix Camera::unproject
[libs/gl.git] / source / renderer.cpp
index 6a4c488f0b0ed81dcf1a9e35ce6f407f2651cf4f..8daa13ce414bbc508a6924064ac282392a7bfb5c 100644 (file)
@@ -198,6 +198,7 @@ void Renderer::end()
        Texture::unbind_from(0);
        Material::unbind();
        Lighting::unbind();
+       Clipping::unbind();
        Program::unbind();
        Buffer::unbind_from(ELEMENT_ARRAY_BUFFER);
        WindingTest::unbind();
@@ -273,22 +274,22 @@ void Renderer::apply_state()
                }
        }
 
-       if(changed&CLIPPING)
+       if(state->clipping)
        {
-               if(state->clipping)
+               if(legacy_bindings)
                {
-                       if(legacy_bindings)
+                       if(changed&CLIPPING)
                        {
                                MatrixStack::modelview() = state->clipping_matrix;
                                state->clipping->bind(true);
                                changed = (changed&~CLIPPING)|LEGACY_MATRIX;
                        }
-                       else
-                               state->clipping->bind(false);
                }
                else
-                       Clipping::unbind();
+                       state->clipping->bind(false);
        }
+       else
+               Clipping::unbind();
 
        if(state->shprog)
        {