]> git.tdb.fi Git - libs/gl.git/blobdiff - source/mesh.cpp
Remove some methods that have been deprecated for a long while
[libs/gl.git] / source / mesh.cpp
index d1cb77f143c7a1ede2e5873fc1a21bb6c331d568..55d7fc0648df0920dfb93419344d6ee53fdd30a5 100644 (file)
@@ -1,4 +1,5 @@
 #include <msp/gl/extensions/arb_vertex_array_object.h>
+#include <msp/gl/extensions/arb_vertex_buffer_object.h>
 #include <msp/gl/extensions/arb_vertex_shader.h>
 #include <msp/gl/extensions/nv_primitive_restart.h>
 #include "buffer.h"
@@ -29,7 +30,7 @@ void Mesh::init(ResourceManager *rm)
        vbuf = 0;
        ibuf = 0;
        vao_id = 0;
-       defer_buffers = true;
+       defer_buffers = ARB_vertex_buffer_object;
        dirty = true;
        disallow_rendering = false;
        winding = 0;
@@ -40,6 +41,7 @@ void Mesh::init(ResourceManager *rm)
 
 Mesh::~Mesh()
 {
+       set_manager(0);
        delete vbuf;
        delete ibuf;
        if(vao_id)
@@ -153,7 +155,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)
@@ -170,7 +172,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)
@@ -201,7 +202,7 @@ void Mesh::unbind()
                glBindVertexArray(0);
 }
 
-Resource::AsyncLoader *Mesh::load(IO::Seekable &io)
+Resource::AsyncLoader *Mesh::load(IO::Seekable &io, const Resources *)
 {
        return new AsyncLoader(*this, io);
 }