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 unsigned char *c=format.begin(); c!=format.end(); ++c)
+ {
+ unsigned t = get_component_type(*c);
+ if(t<attr.size())
+ vab.attrib(t, attr[t]);
+ }
vab.vertex(v);
if(in_batch)