X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fimmediate.h;h=c4d8aca5abb0bf83bc97f216c60a59e2d6af6798;hb=0f3ae7cf6aed59f07895dfbef6740be3b666fc20;hp=b979973c10a859fcd3aa2203d7cf9f98b0b69ad1;hpb=85facfb688035b5bbc9a3a87d080582fbf34930b;p=libs%2Fgl.git diff --git a/source/immediate.h b/source/immediate.h index b979973c..c4d8aca5 100644 --- a/source/immediate.h +++ b/source/immediate.h @@ -8,9 +8,7 @@ Distributed under the LGPL #ifndef MSP_GL_IMMEDIATE_H_ #define MSP_GL_IMMEDIATE_H_ -#include "primitivetype.h" -#include "vertexarray.h" -#include "vertexbuilder.h" +#include "primitivebuilder.h" namespace Msp { namespace GL { @@ -22,20 +20,18 @@ end() to terminate the batch. However, unlike OpenGL immediate mode, vertices are not drawn as they are specified. Instead, they are accumulated in a VertexArray and drawn when end() is called. */ -class Immediate: public VertexBuilder +class Immediate: public PrimitiveBuilder { -public: - Immediate(VertexFormat); - void begin(PrimitiveType); - void end(); private: VertexArray array; - RefPtr builder; - PrimitiveType type; - bool in_batch; - unsigned n_vertices; + std::vector indices; - virtual void vertex_(float, float, float, float); +public: + Immediate(VertexFormat); +private: + virtual void begin_() { } + virtual void end_(); + virtual void element_(unsigned); }; } // namespace GL