]> git.tdb.fi Git - libs/gl.git/blobdiff - source/mesh.cpp
Use BindRestore for binding index buffer
[libs/gl.git] / source / mesh.cpp
index 869ea671faeed0493ca4109dce4d27cddd1647e2..44568697f4f6dfd46aca884b9a6ebb8cffc05db3 100644 (file)
@@ -31,6 +31,7 @@ void Mesh::init(ResourceManager *rm)
        vao_id = 0;
        defer_buffers = true;
        dirty = true;
+       disallow_rendering = false;
        winding = 0;
 
        if(rm)
@@ -152,7 +153,7 @@ void Mesh::draw() const
 
        if(!current())
                vertices.apply();
-       Bind bind_ibuf(ibuf, ELEMENT_ARRAY_BUFFER);
+       BindRestore bind_ibuf(ibuf, ELEMENT_ARRAY_BUFFER);
        Bind bind_winding(winding);
 
        for(list<Batch>::const_iterator i=batches.begin(); i!=batches.end(); ++i)
@@ -169,7 +170,6 @@ void Mesh::draw(Renderer &renderer) const
        }
 
        renderer.set_mesh(this);
-       renderer.set_element_buffer(ibuf);
        renderer.set_winding_test(winding);
 
        for(list<Batch>::const_iterator i=batches.begin(); i!=batches.end(); ++i)