X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbatch.cpp;h=7f9adff7aad42ca8a9cb8e3bd4758ff2048acb75;hp=bca33484ce976cc585d8da88187c8ba568baed23;hb=8b99547d099c96bd8cc6037e2026db123b2523c1;hpb=1d24ddbc35f9e0480d30c66d47b7ea3834c15fbf diff --git a/source/batch.cpp b/source/batch.cpp index bca33484..7f9adff7 100644 --- a/source/batch.cpp +++ b/source/batch.cpp @@ -248,25 +248,12 @@ void Batch::draw() const if(Buffer *ibuf = get_buffer()) { - bool have_vao = Mesh::current(); - const Buffer *old_ibuf = 0; - if(!have_vao) - { - old_ibuf = Buffer::current(ELEMENT_ARRAY_BUFFER); - ibuf->bind_to(ELEMENT_ARRAY_BUFFER); - } + BindRestore _bind_ibuf(ibuf, ELEMENT_ARRAY_BUFFER); if(dirty) update_buffer(); glDrawRangeElements(prim_type, min_index, max_index, size(), data_type, reinterpret_cast(get_offset())); - if(!have_vao) - { - if(old_ibuf) - old_ibuf->bind_to(ELEMENT_ARRAY_BUFFER); - else - Buffer::unbind_from(ELEMENT_ARRAY_BUFFER); - } } else glDrawRangeElements(prim_type, min_index, max_index, size(), data_type, &data[0]);