X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilders%2Fvertexarraybuilder.cpp;h=00ff00128c14591ed6de778a586a3d3af411d4ca;hb=HEAD;hp=011a6c0515c59788e1db5675ee65c1f37c2ca9d2;hpb=3a1b9cbe2441ae670a97541dc8ccb0a2860c8302;p=libs%2Fgl.git diff --git a/source/builders/vertexarraybuilder.cpp b/source/builders/vertexarraybuilder.cpp index 011a6c05..14d03b98 100644 --- a/source/builders/vertexarraybuilder.cpp +++ b/source/builders/vertexarraybuilder.cpp @@ -1,3 +1,4 @@ +#include #include "vertexarray.h" #include "vertexarraybuilder.h" @@ -13,16 +14,15 @@ 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); - - if(sem(ptr, value, !integer, cc); @@ -40,7 +40,7 @@ void VertexArrayBuilder::vertex_(const Vector4 &vtx) store_attribute(ptr, value, false, cc); } - ptr += get_attribute_size(*a); + ptr += get_attribute_size(a); } }