X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmesh.cpp;h=d0e71489f1f48a22c6de0d1b686648c452024d98;hb=437609f708f2918067ec64f6d02261d113b1cac0;hp=d1cb77f143c7a1ede2e5873fc1a21bb6c331d568;hpb=26ff1dd4c645c9b8b5361f5f37c58f071789f026;p=libs%2Fgl.git diff --git a/source/mesh.cpp b/source/mesh.cpp index d1cb77f1..d0e71489 100644 --- a/source/mesh.cpp +++ b/source/mesh.cpp @@ -40,6 +40,7 @@ void Mesh::init(ResourceManager *rm) Mesh::~Mesh() { + set_manager(0); delete vbuf; delete ibuf; if(vao_id) @@ -153,7 +154,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::const_iterator i=batches.begin(); i!=batches.end(); ++i) @@ -170,7 +171,6 @@ void Mesh::draw(Renderer &renderer) const } renderer.set_mesh(this); - renderer.set_element_buffer(ibuf); renderer.set_winding_test(winding); for(list::const_iterator i=batches.begin(); i!=batches.end(); ++i) @@ -201,7 +201,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); }