- for(vector<Batch>::const_iterator i=batches.begin(); i!=batches.end(); ++i)
- renderer.draw_instanced(*i, count);
+ if(!count)
+ {
+ for(vector<Batch>::const_iterator i=batches.begin(); i!=batches.end(); ++i)
+ renderer.draw(*i);
+ }
+ else
+ {
+ for(vector<Batch>::const_iterator i=batches.begin(); i!=batches.end(); ++i)
+ renderer.draw_instanced(*i, count);
+ }
+}
+
+void Mesh::resize_buffers() const
+{
+ if(dirty&VERTEX_BUFFER)
+ vbuf->storage(vertices.get_required_buffer_size());
+ if(dirty&INDEX_BUFFER)
+ ibuf->storage(batches.front().get_required_buffer_size());
+ dirty = 0;