]> git.tdb.fi Git - libs/gl.git/blobdiff - source/immediate.cpp
Avoid unnecessary work in Batch's vector append
[libs/gl.git] / source / immediate.cpp
index 3d808d320897d9c1610ebf2da3650d56e7859d94..15d3a634a13248063efd29c2f5889fff7110c120 100644 (file)
@@ -5,6 +5,7 @@ Copyright © 2007  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
+#include "batch.h"
 #include "immediate.h"
 
 namespace Msp {
@@ -23,15 +24,19 @@ void Immediate::reset()
                throw InvalidState("Can't reset Immediate between begin() and end()");
 
        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)