X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvertexformat.h;h=3e36c18f4e76f2a60cd93e43d29c382f805bb7e5;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=2432d7b60d54aec2fbf8e478cdfec5ff8971f90f;hpb=b8fef9be469eb16e54068bac7e275ea225efc71c;p=libs%2Fgl.git diff --git a/source/vertexformat.h b/source/vertexformat.h index 2432d7b6..3e36c18f 100644 --- a/source/vertexformat.h +++ b/source/vertexformat.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of libmspgl -Copyright © 2007 Mikko Rasa, Mikkosoft Productions +Copyright © 2007, 2009-2010 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ @@ -9,25 +9,24 @@ Distributed under the LGPL #define MSP_GL_VERTEXFORMAT_H_ #include -#include "types.h" namespace Msp { namespace GL { enum VertexComponent { - VERTEX2=1, + VERTEX2 = 1, VERTEX3, VERTEX4, - NORMAL3=6, - TEXCOORD1=8, + NORMAL3 = 6, + TEXCOORD1 = 8, TEXCOORD2, TEXCOORD3, TEXCOORD4, - COLOR4_UBYTE=12, - COLOR3_FLOAT=14, + COLOR4_UBYTE = 12, + COLOR3_FLOAT = 14, COLOR4_FLOAT, - ATTRIB1=16, + ATTRIB1 = 16, ATTRIB2, ATTRIB3, ATTRIB4 @@ -46,6 +45,7 @@ struct VertexFormat bool empty() const { return !data || !data[0]; } const unsigned char *begin() const { return data ? data+1 : 0; } const unsigned char *end() const { return data ? data+1+data[0] : 0; } + unsigned stride() const; }; VertexFormat operator,(const VertexFormat &f, VertexComponent c); @@ -56,7 +56,9 @@ VertexFormat operator,(const VertexFormat &f, unsigned i); inline VertexFormat operator,(VertexComponent c, unsigned i) { return (VertexFormat(c), i); } -uint get_stride(const VertexFormat &); +inline unsigned get_stride(const VertexFormat &f) +{ return f.stride(); } + std::istream &operator>>(std::istream &, VertexFormat &); } // namespace GL