public static IVertexComponentValue CreateComponent(D3DDECLTYPE declarationType) { switch (declarationType) { case D3DDECLTYPE.D3DDECLTYPE_FLOAT1: return(new VertexFloat1Value()); case D3DDECLTYPE.D3DDECLTYPE_FLOAT2: return(new VertexFloat2Value()); case D3DDECLTYPE.D3DDECLTYPE_FLOAT3: return(new VertexFloat3Value()); case D3DDECLTYPE.D3DDECLTYPE_FLOAT4: return(new VertexFloat4Value()); case D3DDECLTYPE.D3DDECLTYPE_UBYTE4: return(new VertexUByte4Value()); case D3DDECLTYPE.D3DDECLTYPE_SHORT2: return(new VertexShort2Value()); case D3DDECLTYPE.D3DDECLTYPE_SHORT4N: return(new VertexShort4NValue()); case D3DDECLTYPE.D3DDECLTYPE_SHORT4: return(new VertexShort4Value()); case D3DDECLTYPE.D3DDECLTYPE_D3DCOLOR: return(new VertexD3DColorValue()); default: return(null); } }
private static VertexElementFormat ToVertexElementFormat(D3DDECLTYPE type) { switch (type) { case D3DDECLTYPE.D3DDECLTYPE_FLOAT1: return(VertexElementFormat.Float1); case D3DDECLTYPE.D3DDECLTYPE_FLOAT2: return(VertexElementFormat.Float2); case D3DDECLTYPE.D3DDECLTYPE_FLOAT3: return(VertexElementFormat.Float3); case D3DDECLTYPE.D3DDECLTYPE_FLOAT4: return(VertexElementFormat.Float4); case D3DDECLTYPE.D3DDECLTYPE_D3DCOLOR: return(VertexElementFormat.Byte4); default: throw new ArgumentOutOfRangeException(nameof(type)); } }