]> git.tdb.fi Git - libs/gl.git/blob - source/immediate.cpp
Drop Id tags and copyright notices from files
[libs/gl.git] / source / immediate.cpp
1 #include "batch.h"
2 #include "immediate.h"
3
4 namespace Msp {
5 namespace GL {
6
7 Immediate::Immediate(VertexFormat f):
8         PrimitiveBuilder(array),
9         array(f)
10 {
11         array.use_vertex_buffer(0);
12 }
13
14 void Immediate::reset()
15 {
16         if(in_batch)
17                 throw InvalidState("Can't reset Immediate between begin() and end()");
18
19         array.clear();
20 }
21
22 void Immediate::begin_()
23 {
24         indices.clear();
25 }
26
27 void Immediate::end_()
28 {
29         Batch batch(type);
30         batch.append(indices);
31         array.apply();
32         batch.draw();
33 }
34
35 void Immediate::element_(unsigned i)
36 {
37         indices.push_back(i);
38 }
39
40 } // namespace GL
41 } // namespace Msp