X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fimmediate.cpp;h=a387d71b4b283eac45dcd47148dad9e6581fb321;hb=76e338af116120d93d082ad247591ec9adad9233;hp=8e761f4329c4c5cec8921d62753849fb5ff98e2d;hpb=d1800d7ea80290f4913d0203241cef1409656522;p=libs%2Fgl.git diff --git a/source/immediate.cpp b/source/immediate.cpp index 8e761f43..a387d71b 100644 --- a/source/immediate.cpp +++ b/source/immediate.cpp @@ -15,12 +15,26 @@ Immediate::Immediate(VertexFormat f): 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