void PrimitiveBuilder::vertex_(const Vector4 &v)
{
- vab.color(col);
- vab.normal(nor);
- for(std::map<unsigned, Vector4>::iterator i=texc.begin(); i!=texc.end(); ++i)
- vab.multitexcoord(i->first, i->second);
- for(std::map<unsigned, Vector4>::iterator i=attr.begin(); i!=attr.end(); ++i)
- vab.attrib(i->first, i->second);
+ const VertexFormat &format = array.get_format();
+ for(const UInt16 *a=format.begin(); a!=format.end(); ++a)
+ {
+ unsigned sem = get_attribute_semantic(*a);
+ if(sem<attr.size())
+ vab.attrib(sem, attr[sem]);
+ }
vab.vertex(v);
if(in_batch)