]> git.tdb.fi Git - libs/gl.git/blobdiff - source/builders/vertexarraybuilder.cpp
Make it possible to specify explicit clear values
[libs/gl.git] / source / builders / vertexarraybuilder.cpp
index 011a6c0515c59788e1db5675ee65c1f37c2ca9d2..c9a1f3bc8c5c5d8a751705fdfb3603ad196a7e6f 100644 (file)
@@ -13,13 +13,12 @@ VertexArrayBuilder::VertexArrayBuilder(VertexArray &a):
 void VertexArrayBuilder::vertex_(const Vector4 &vtx)
 {
        char *ptr = array.append();
-       const VertexFormat &format = array.get_format();
-       for(const uint16_t *a=format.begin(); a!=format.end(); ++a)
+       for(VertexAttribute a: array.get_format())
        {
-               unsigned sem = get_attribute_semantic(*a);
-               bool integer = is_integer_attribute(*a);
-               DataType type = get_attribute_source_type(*a);
-               unsigned cc = get_attribute_component_count(*a);
+               unsigned sem = get_attribute_semantic(a);
+               bool integer = is_integer_attribute(a);
+               DataType type = get_attribute_source_type(a);
+               unsigned cc = get_attribute_component_count(a);
 
                if(sem<attr.size())
                {
@@ -40,7 +39,7 @@ void VertexArrayBuilder::vertex_(const Vector4 &vtx)
                                store_attribute<float>(ptr, value, false, cc);
                }
 
-               ptr += get_attribute_size(*a);
+               ptr += get_attribute_size(a);
        }
 }