return;
}
+ if(batches.empty())
+ return;
+
if(dirty)
resize_buffers();
{
if(dirty&VERTEX_BUFFER)
vbuf->storage(vertices.get_required_buffer_size());
- if(dirty&INDEX_BUFFER)
+ if((dirty&INDEX_BUFFER) && !batches.empty())
ibuf->storage(batches.front().get_required_buffer_size());
dirty = 0;
}
add("winding", &Loader::winding);
}
-void Mesh::Loader::vertices(const vector<VertexComponent> &c)
+void Mesh::Loader::vertices(const vector<VertexAttribute> &a)
{
- if(c.empty())
- throw invalid_argument("No vertex components");
+ if(a.empty())
+ throw invalid_argument("No vertex attributes");
VertexFormat fmt;
- for(vector<VertexComponent>::const_iterator i=c.begin(); i!=c.end(); ++i)
+ for(vector<VertexAttribute>::const_iterator i=a.begin(); i!=a.end(); ++i)
fmt = (fmt, *i);
obj.vertices.reset(fmt);
load_sub(obj.vertices);