internal static NormalPointerType OpenGLNormalPointerType(RVertexElementFormat elementFormat) { switch (elementFormat) { case RVertexElementFormat.Single: return(NormalPointerType.Float); case RVertexElementFormat.Vector2: return(NormalPointerType.Float); case RVertexElementFormat.Vector3: return(NormalPointerType.Float); case RVertexElementFormat.Vector4: return(NormalPointerType.Float); case RVertexElementFormat.Color: return(NormalPointerType.Byte); case RVertexElementFormat.Byte4: return(NormalPointerType.Byte); case RVertexElementFormat.Short2: return(NormalPointerType.Short); case RVertexElementFormat.Short4: return(NormalPointerType.Short); case RVertexElementFormat.NormalizedShort2: return(NormalPointerType.Short); case RVertexElementFormat.NormalizedShort4: return(NormalPointerType.Short); case RVertexElementFormat.HalfVector2: return(NormalPointerType.HalfFloat); case RVertexElementFormat.HalfVector4: return(NormalPointerType.HalfFloat); } throw new ArgumentException(); }
internal static int OpenGLNumberOfElements(RVertexElementFormat elementFormat) { switch (elementFormat) { case RVertexElementFormat.Single: return(1); case RVertexElementFormat.Vector2: return(2); case RVertexElementFormat.Vector3: return(3); case RVertexElementFormat.Vector4: return(4); case RVertexElementFormat.Color: return(4); case RVertexElementFormat.Byte4: return(4); case RVertexElementFormat.Short2: return(2); case RVertexElementFormat.Short4: return(2); case RVertexElementFormat.NormalizedShort2: return(2); case RVertexElementFormat.NormalizedShort4: return(4); case RVertexElementFormat.HalfVector2: return(2); case RVertexElementFormat.HalfVector4: return(4); } throw new ArgumentException(); }
internal static int GetSize(RVertexElementFormat elementFormat) { switch (elementFormat) { case RVertexElementFormat.Single: return(4); case RVertexElementFormat.Vector2: return(8); case RVertexElementFormat.Vector3: return(12); case RVertexElementFormat.Vector4: return(16); case RVertexElementFormat.Color: return(4); case RVertexElementFormat.Byte4: return(4); case RVertexElementFormat.Short2: return(4); case RVertexElementFormat.Short4: return(8); case RVertexElementFormat.NormalizedShort2: return(4); case RVertexElementFormat.NormalizedShort4: return(8); case RVertexElementFormat.HalfVector2: return(4); case RVertexElementFormat.HalfVector4: return(8); } return(0); }
public RVertexElement(int offset, RVertexElementFormat elementFormat, RVertexElementUsage elementUsage) { this._offset = offset; this._format = elementFormat; this._usage = elementUsage; }