+++ /dev/null
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#include "vertexformat.h"
-
-namespace Msp {
-namespace GL {
-
-uint get_stride(VertexFormat f)
-{
- uint stride=0;
- for(uint fmt=f; fmt; fmt>>=4)
- stride+=(fmt&3)+1;
- return stride*sizeof(float);
-}
-
-std::istream &operator>>(std::istream &in, VertexFormat &f)
-{
- std::string str;
- in>>str;
-
- unsigned start=0;
- unsigned comma;
- f=NODATA;
-
- while(1)
- {
- comma=str.find(',', start);
- if(str.compare(start, comma-start, "VERTEX2"))
- f=f,VERTEX2;
- else if(str.compare(start, comma-start, "VERTEX3"))
- f=f,VERTEX3;
- else if(str.compare(start, comma-start, "VERTEX4"))
- f=f,VERTEX4;
- else if(str.compare(start, comma-start, "NORMAL3"))
- f=f,NORMAL3;
- else if(str.compare(start, comma-start, "TEXCOORD1"))
- f=f,TEXCOORD1;
- else if(str.compare(start, comma-start, "TEXCOORD2"))
- f=f,TEXCOORD2;
- else if(str.compare(start, comma-start, "TEXCOORD3"))
- f=f,TEXCOORD3;
- else if(str.compare(start, comma-start, "TEXCOORD4"))
- f=f,TEXCOORD4;
- else if(str.compare(start, comma-start, "COLOR4_UBYTE"))
- f=f,COLOR4_UBYTE;
- else if(str.compare(start, comma-start, "COLOR3_FLOAT"))
- f=f,COLOR3_FLOAT;
- else if(str.compare(start, comma-start, "COLOR4_FLOAT"))
- f=f,COLOR4_FLOAT;
- else
- {
- in.setstate(std::ios_base::failbit);
- break;
- }
- start=comma+1;
- if(comma==std::string::npos)
- break;
- }
-
- return in;
-}
-
-} // namespace GL
-} // namespace Msp