if(instance_data)
{
if(instance_data->size()<instances.size())
+ {
instance_data->append();
+ unsigned req_size = instance_data->get_required_buffer_size();
+ if(instance_buffer->get_size()>0 && instance_buffer->get_size()<req_size)
+ {
+ delete instance_buffer;
+ instance_buffer = new Buffer(ARRAY_BUFFER);
+ instance_data->use_buffer(instance_buffer);
+ }
+ }
update_instance_matrix(instances.size()-1);
}
}
const Mesh *mesh = object.get_mesh();
mesh->get_vertices().refresh();
+ if(instance_buffer->get_size()==0)
+ instance_buffer->storage(instance_data->get_required_buffer_size());
instance_data->refresh();
Renderer::Push push(renderer);