]> git.tdb.fi Git - libs/gl.git/blobdiff - source/vertexarray.cpp
Add Mesh::use_vertex_buffer
[libs/gl.git] / source / vertexarray.cpp
index c0ca8dca80f22b96f1efdfe8f9de6ccd9dc04ffd..0d4fd919cffa8daa210c416414024357a07d9d59 100644 (file)
@@ -33,18 +33,22 @@ VertexArray::~VertexArray()
 
 void VertexArray::use_vertex_buffer()
 {
-       if(vbuf) return;
+       if(vbuf && own_vbuf)
+               return;
 
        vbuf=new VertexBuffer();
        own_vbuf=true;
+
        update_data();
 }
 
 void VertexArray::use_vertex_buffer(VertexBuffer *b)
 {
-       if(vbuf) return;
-
+       if(own_vbuf)
+               delete vbuf;
        vbuf=b;
+       own_vbuf=false;
+
        update_data();
 }