X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fvertexbuilder.h;h=49f0dcf5e38c89d69496bd6473b0027dee63ce8f;hp=c92a276071d9ff64ce53ab343fc9a7faddd46c0f;hb=HEAD;hpb=ceae2a27dfc58310c5bab7e3aa3fedf0fa9a1f49 diff --git a/source/vertexbuilder.h b/source/vertexbuilder.h deleted file mode 100644 index c92a2760..00000000 --- a/source/vertexbuilder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#ifndef MSP_GL_VERTEXBUILDER_H_ -#define MSP_GL_VERTEXBUILDER_H_ - -#include - -namespace Msp { -namespace GL { - -/** -Base class for classes that build vertices from a series of function calls. -The operating model closely follows that of OpenGL immediate mode: vertex -attributes can be specified at any time, and when a vertex() function is -called, a vertex is created with the active attribute values. - -A derived class must overload the 4-argument vertex_() function to process the -data. Attributes can be read from protected member variables. -*/ -class VertexBuilder -{ -protected: - struct Attrib - { - float x, y, z, w; - }; - -public: - VertexBuilder(); - virtual ~VertexBuilder() { } - - void vertex(float x, float y) { vertex(x, y, 0, 1); } - void vertex(float x, float y, float z) { vertex(x, y, z, 1); } - void vertex(float x, float y, float z, float w) { vertex_(x, y, z, w); } - void normal(float x, float y, float z) { nx=x; ny=y; nz=z; } - void texcoord(float s) { texcoord(s, 0, 0, 1); } - void texcoord(float s, float t) { texcoord(s, t, 0, 1); } - void texcoord(float s, float t, float r) { texcoord(s, t, r, 1); } - void texcoord(float s, float t, float r, float q) { ts=s; tt=t; tr=r; tq=q; } - void color(unsigned char r, unsigned char g, unsigned char b) { color(r, g, b, 255); } - void color(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { color(r/255.f, g/255.f, b/255.f, a/255.f); } - void color(float r, float g, float b) { color(r, g, b, 1); } - void color(float r, float g, float b, float a) { cr=r; cg=g; cb=b; ca=a; } - void attrib(unsigned i, float x) { attrib(i, x, 0, 0, 1); } - void attrib(unsigned i, float x, float y) { attrib(i, x, y, 0, 1); } - void attrib(unsigned i, float x, float y, float z) { attrib(i, x, y, z, 1); } - void attrib(unsigned i, float x, float y, float z, float w); -protected: - float cr, cg, cb, ca; // Color - float ts, tt, tr, tq; // TexCoord - float nx, ny, nz; // Normal - std::map av; - - virtual void vertex_(float, float, float, float) =0; -}; - -} // namespace GL -} // namespace Msp - -#endif