Beispiel #1
0
        private static IList CreateVertexElementArray(LmEVertexElementFormat format)
        {
            switch (format)
            {
            case LmEVertexElementFormat.Disable:
                Debug.Fail("Unrecognized vertex element format");
                return(null);

            case LmEVertexElementFormat.XYZW32_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XYZW32_UintN:
                return(new List <uint>());

            case LmEVertexElementFormat.XYZW32_Uint:
                return(new List <uint>());

            case LmEVertexElementFormat.XYZW32_SintN:
                return(new List <int>());

            case LmEVertexElementFormat.XYZW32_Sint:
                return(new List <int>());

            case LmEVertexElementFormat.XYZW16_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XYZW16_UintN:
                return(new List <ushort>());

            case LmEVertexElementFormat.XYZW16_Uint:
                return(new List <ushort>());

            case LmEVertexElementFormat.XYZW16_SintN:
                return(new List <short>());

            case LmEVertexElementFormat.XYZW16_Sint:
                return(new List <short>());

            case LmEVertexElementFormat.XYZW8_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XYZW8_UintN:
                return(new List <byte>());

            case LmEVertexElementFormat.XYZW8_Uint:
                return(new List <byte>());

            case LmEVertexElementFormat.XYZW8_SintN:
                return(new List <sbyte>());

            case LmEVertexElementFormat.XYZW8_Sint:
                return(new List <sbyte>());

            case LmEVertexElementFormat.XYZ32_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XYZ32_UintN:
                return(new List <uint>());

            case LmEVertexElementFormat.XYZ32_Uint:
                return(new List <uint>());

            case LmEVertexElementFormat.XYZ32_SintN:
                return(new List <int>());

            case LmEVertexElementFormat.XYZ32_Sint:
                return(new List <int>());

            case LmEVertexElementFormat.XY32_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XY32_UintN:
                return(new List <uint>());

            case LmEVertexElementFormat.XY32_Uint:
                return(new List <uint>());

            case LmEVertexElementFormat.XY32_SintN:
                return(new List <int>());

            case LmEVertexElementFormat.XY32_Sint:
                return(new List <int>());

            case LmEVertexElementFormat.XY16_Float:
                return(new List <float>());

            case LmEVertexElementFormat.XY16_UintN:
                return(new List <ushort>());

            case LmEVertexElementFormat.XY16_Uint:
                return(new List <ushort>());

            case LmEVertexElementFormat.XY16_SintN:
                return(new List <short>());

            case LmEVertexElementFormat.XY16_Sint:
                return(new List <short>());

            case LmEVertexElementFormat.X32_Float:
                return(new List <float>());

            case LmEVertexElementFormat.X32_UintN:
                return(new List <uint>());

            case LmEVertexElementFormat.X32_Uint:
                return(new List <uint>());

            case LmEVertexElementFormat.X32_SintN:
                return(new List <int>());

            case LmEVertexElementFormat.X32_Sint:
                return(new List <int>());

            case LmEVertexElementFormat.X16_Float:
                return(new List <float>());

            case LmEVertexElementFormat.X16_UintN:
                return(new List <ushort>());

            case LmEVertexElementFormat.X16_Uint:
                return(new List <ushort>());

            case LmEVertexElementFormat.X16_SintN:
                return(new List <short>());

            case LmEVertexElementFormat.X16_Sint:
                return(new List <short>());

            case LmEVertexElementFormat.X8_Float:
                return(new List <float>());

            case LmEVertexElementFormat.X8_UintN:
                return(new List <byte>());

            case LmEVertexElementFormat.X8_Uint:
                return(new List <byte>());

            case LmEVertexElementFormat.X8_SintN:
                return(new List <sbyte>());

            case LmEVertexElementFormat.X8_Sint:
                return(new List <sbyte>());

            case LmEVertexElementFormat.Num:
                Debug.Fail("Unsupported vertex element format");
                return(null);

            default:
                return(null);
            }
        }
Beispiel #2
0
        public static byte FormatToVertexType(LmEVertexElementFormat format)
        {
            var formatAsIndex = (int)format;

            return(LmToBlackVertexType[formatAsIndex]);
        }
Beispiel #3
0
        public static uint FormatToVertexComponentCount(LmEVertexElementFormat format)
        {
            var formatAsIndex = (int)format;

            return(LmToBlackVertexComponentCount[formatAsIndex]);
        }
Beispiel #4
0
 private LmVertexElementDesc(uint offset, string semantic, LmEVertexElementFormat format)
 {
     this.Offset   = offset;
     this.Semantic = semantic;
     this.Format   = format;
 }