]> git.tdb.fi Git - libs/gl.git/blobdiff - source/instancearray.cpp
Move buffer resizing out of Bufferable
[libs/gl.git] / source / instancearray.cpp
index 91f92084d94a680bde115f938b257bdabe8dbd29..8fead4e907fb1e7dff900306ae8dca5367a1f280 100644 (file)
@@ -75,7 +75,13 @@ void InstanceArray::append(ObjectInstance *inst)
        if(instance_data)
        {
                if(instance_data->size()<instances.size())
+               {
                        instance_data->append();
+                       unsigned req_size = instance_data->get_required_buffer_size();
+                       // XXX Inefficient, but will be rewritten imminently
+                       if(instance_buffer->get_size()<req_size)
+                               instance_buffer->data(req_size, 0);
+               }
                update_instance_matrix(instances.size()-1);
        }
 }