array(f)
{ }
+void Immediate::reset()
+{
+ if(in_batch)
+ throw InvalidState("Can't reset Immediate between begin() and end()");
+
+ array.clear();
+ indices.clear();
+}
+
void Immediate::end_()
{
array.apply();
- glDrawArrays(type, 0, array.size());
+ draw_elements(type, indices.size(), &indices[0]);
- array.clear();
+ indices.clear();
+}
+
+void Immediate::element_(unsigned i)
+{
+ indices.push_back(i);
}
} // namespace GL