end_();
}
+void PrimitiveBuilder::element(unsigned i)
+{
+ if(!in_batch)
+ throw InvalidState("Element specification not between begin() and end()");
+ if(i>=array.size())
+ throw InvalidParameterValue("Element index out of range");
+ element_(i);
+}
+
PrimitiveType PrimitiveBuilder::get_type() const
{
if(!in_batch)
void PrimitiveBuilder::vertex_(float x, float y, float z, float w)
{
- if(!in_batch)
- throw InvalidState("Vertex specification not between begin() and end()");
-
builder->texcoord(ts, tt, tr,tq);
builder->color(cr, cg, cb, ca);
builder->normal(nx, ny, nz);
builder->vertex(x, y, z, w);
+
+ if(in_batch)
+ element_(array.size()-1);
}
} // namespace GL