-/* $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 {
PrimitiveBuilder(array),
array(f)
{
- array.use_vertex_buffer(0);
+ array.use_buffer(0);
}
void Immediate::reset()
{
if(in_batch)
- throw InvalidState("Can't reset Immediate between begin() and end()");
+ throw invalid_operation("Immediate::reset");
array.clear();
+}
+
+void Immediate::begin_()
+{
indices.clear();
}
void Immediate::end_()
{
+ Batch batch(type);
+ batch.append(indices);
array.apply();
- draw_elements(type, indices.size(), &indices[0]);
-
- indices.clear();
+ batch.draw();
}
void Immediate::element_(unsigned i)