X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvertexformat.h;fp=source%2Fvertexformat.h;h=0000000000000000000000000000000000000000;hb=7aaec9a70b8d7733429bec043f8e33e02956f266;hp=3561292245fc640deb2859629cbf8f39c1776e5b;hpb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;p=libs%2Fgl.git diff --git a/source/vertexformat.h b/source/vertexformat.h deleted file mode 100644 index 35612922..00000000 --- a/source/vertexformat.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef MSP_GL_VERTEXFORMAT_H_ -#define MSP_GL_VERTEXFORMAT_H_ - -#include - -namespace Msp { -namespace GL { - -/** A single vertex component. Symbolic names are provided for commonly used -attributes. These are aliased with with generic attributes, so be careful when -picking your attribute indices. */ -enum VertexComponent -{ - VERTEX2 = 1, - VERTEX3, - VERTEX4, - NORMAL3 = 10, - COLOR4_UBYTE = 12, - COLOR3_FLOAT = 14, - COLOR4_FLOAT, - TANGENT3 = 18, - BINORMAL3 = 22, - TEXCOORD1 = 32, - TEXCOORD2, - TEXCOORD3, - TEXCOORD4, - ATTRIB1 = 64, - ATTRIB2, - ATTRIB3, - ATTRIB4 -}; - -class VertexFormat -{ -private: - enum { MAX_COMPONENTS = 15 }; - - unsigned char count; - unsigned char components[MAX_COMPONENTS]; - -public: - VertexFormat(); - VertexFormat(VertexComponent); - - VertexFormat operator,(VertexComponent c) const; - VertexFormat operator,(unsigned i) const; - bool operator==(const VertexFormat &) const; - bool operator!=(const VertexFormat &other) const { return !(*this==other); } - - bool empty() const { return !count; } - const unsigned char *begin() const { return components; } - const unsigned char *end() const { return components+count; } - unsigned stride() const; - int offset(VertexComponent) const; -}; - -inline VertexFormat operator,(VertexComponent c1, VertexComponent c2) -{ return (VertexFormat(c1), c2); } - -inline VertexFormat operator,(VertexComponent c, unsigned i) -{ return (VertexFormat(c), i); } - -VertexComponent make_indexed_component(VertexComponent, unsigned); - -inline unsigned get_component_type(unsigned char c) -{ return c>>2; } - -inline unsigned get_component_size(unsigned char c) -{ return (c&3)+1; } - -inline unsigned get_stride(const VertexFormat &f) -{ return f.stride(); } - -void operator>>(const LexicalConverter &, VertexComponent &); - -} // namespace GL -} // namespace Msp - -#endif