]> git.tdb.fi Git - libs/gl.git/blobdiff - source/mesh.cpp
Load VertexFormat for Mesh as an array of VertexComponents
[libs/gl.git] / source / mesh.cpp
index 9757df5cc9e20f364ff96880f115b1707a1f8f5e..508054a521346ac45e394848fb0c7ec11f0fe799 100644 (file)
@@ -85,7 +85,7 @@ void Mesh::add_batch(const Batch &b)
                Batch *prev = (batches.empty() ? 0 : &batches.back());
                batches.push_back(b);
                if(ibuf)
-                       batches.back().use_index_buffer(ibuf, prev);
+                       batches.back().use_buffer(ibuf, prev);
        }
 }
 
@@ -130,9 +130,15 @@ Mesh::Loader::Loader(Mesh &m):
        add("winding",  &Loader::winding);
 }
 
-void Mesh::Loader::vertices(VertexFormat f)
+void Mesh::Loader::vertices(const vector<VertexComponent> &c)
 {
-       obj.vertices.reset(f);
+       if(c.empty())
+               throw invalid_argument("No vertex components");
+
+       VertexFormat fmt;
+       for(vector<VertexComponent>::const_iterator i=c.begin(); i!=c.end(); ++i)
+               fmt = (fmt, *i);
+       obj.vertices.reset(fmt);
        load_sub(obj.vertices);
 }