PrimitiveBuilder::PrimitiveBuilder(VertexArray &a):
array(a),
+ vab(array),
in_batch(false)
{ }
type=t;
in_batch=true;
- builder=array.modify();
begin_();
}
if(!in_batch)
throw InvalidState("end() called without begin()");
- builder=0;
in_batch=false;
end_();
void PrimitiveBuilder::vertex_(float x, float y, float z, float w)
{
- builder->texcoord(ts, tt, tr,tq);
- builder->color(cr, cg, cb, ca);
- builder->normal(nx, ny, nz);
- builder->vertex(x, y, z, w);
+ vab.texcoord(ts, tt, tr,tq);
+ vab.color(cr, cg, cb, ca);
+ vab.normal(nx, ny, nz);
+ vab.vertex(x, y, z, w);
if(in_batch)
element_(array.size()-1);