namespace Msp {
namespace GL {
+/** A single vertex component. Nvidia drivers have aliasing between the
+fixed-functions and generic vertex attributes, despite the standard not
+allowing it. We use the same attribute indices here to avoid problems. */
enum VertexComponent
{
VERTEX2 = 1,
VERTEX3,
VERTEX4,
- NORMAL3 = 6,
- COLOR4_UBYTE = 8,
- COLOR3_FLOAT = 10,
+ NORMAL3 = 10,
+ COLOR4_UBYTE = 12,
+ COLOR3_FLOAT = 14,
COLOR4_FLOAT,
- TEXCOORD1 = 12,
+ TANGENT3 = 18,
+ BINORMAL3 = 22,
+ TEXCOORD1 = 32,
TEXCOORD2,
TEXCOORD3,
TEXCOORD4,
- ATTRIB1 = 44,
+ ATTRIB1 = 64,
ATTRIB2,
ATTRIB3,
ATTRIB4
{ return f.stride(); }
void operator>>(const LexicalConverter &, VertexComponent &);
-void operator>>(const LexicalConverter &, VertexFormat &);
} // namespace GL
} // namespace Msp