X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbatch.cpp;h=e522491144f1a7f6a06a0329e5c8e1721b241e69;hb=287985a83e42e1e0af0c1522272d97d96fce00f9;hp=d650fda8b6c3576cf3605d0f632f4d0faf17200f;hpb=f71aee8c20ff85e4857e4dfad0c20ce606ea3717;p=libs%2Fgl.git diff --git a/source/batch.cpp b/source/batch.cpp index d650fda8..e5224911 100644 --- a/source/batch.cpp +++ b/source/batch.cpp @@ -5,8 +5,9 @@ Copyright © 2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ -#define GL_GLEXT_PROTOTYPES #include "batch.h" +#include "extension.h" +#include "vertexarray.h" using namespace std; @@ -19,7 +20,7 @@ Batch::Batch(PrimitiveType t): max_index(0) { } -void Batch::append(uint i) +Batch &Batch::append(uint i) { if(indices.empty()) min_index=max_index=i; @@ -29,6 +30,8 @@ void Batch::append(uint i) max_index=max(max_index, i); } indices.push_back(i); + + return *this; } void Batch::append(const vector &ind) @@ -40,7 +43,12 @@ void Batch::append(const vector &ind) void Batch::draw() const { - glDrawRangeElements(type, min_index, max_index, indices.size(), GL_UNSIGNED_INT, &indices[0]); + draw_range_elements(type, min_index, max_index, indices.size(), &indices[0]); +} + +void Batch::draw_with_buffer(unsigned offset) const +{ + draw_range_elements(type, min_index, max_index, indices.size(), (unsigned *)0+offset); }