-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
+#include "batch.h"
+#include "error.h"
#include "immediate.h"
namespace Msp {
Immediate::Immediate(VertexFormat f):
PrimitiveBuilder(array),
array(f)
-{ }
+{
+ array.use_vertex_buffer(0);
+}
+
+void Immediate::reset()
+{
+ if(in_batch)
+ throw invalid_operation("Immediate::reset");
+
+ array.clear();
+}
+
+void Immediate::begin_()
+{
+ indices.clear();
+}
void Immediate::end_()
{
+ Batch batch(type);
+ batch.append(indices);
array.apply();
- glDrawArrays(type, 0, array.size());
+ batch.draw();
+}
- array.clear();
+void Immediate::element_(unsigned i)
+{
+ indices.push_back(i);
}
} // namespace GL