Esempio n. 1
0
        private static PixelType GetPixelType(BitmapDataBlock.FormatEnum format)
        {
            switch (format)
            {
            case BitmapDataBlock.FormatEnum.A1r5g5b5:
                return(PixelType.UnsignedShort5551);

            case BitmapDataBlock.FormatEnum.A4r4g4b4:
                return(PixelType.UnsignedShort4444);

            case BitmapDataBlock.FormatEnum.R5g6b5:
                return(PixelType.UnsignedShort565);

            case BitmapDataBlock.FormatEnum.A8y8:
            case BitmapDataBlock.FormatEnum.V8u8:
            case BitmapDataBlock.FormatEnum.G8b8:
                return(PixelType.UnsignedByte);

            case BitmapDataBlock.FormatEnum.A8:
            case BitmapDataBlock.FormatEnum.P8:
            case BitmapDataBlock.FormatEnum.Y8:
            case BitmapDataBlock.FormatEnum.P8bump:
            case BitmapDataBlock.FormatEnum.Ay8:
                return(PixelType.UnsignedByte);

            case BitmapDataBlock.FormatEnum.A8r8g8b8:
            case BitmapDataBlock.FormatEnum.X8r8g8b8:
                return(PixelType.UnsignedByte);

            default:
                throw new FormatException("Unsupported Texture Format");
            }
        }
Esempio n. 2
0
        private static int GetBitSize(BitmapDataBlock.FormatEnum format)
        {
            switch (format)
            {
            case BitmapDataBlock.FormatEnum.A1r5g5b5:
            case BitmapDataBlock.FormatEnum.A4r4g4b4:
            case BitmapDataBlock.FormatEnum.R5g6b5:
            case BitmapDataBlock.FormatEnum.A8y8:
            case BitmapDataBlock.FormatEnum.V8u8:
            case BitmapDataBlock.FormatEnum.G8b8:
                return(16);

            case BitmapDataBlock.FormatEnum.A8:
            case BitmapDataBlock.FormatEnum.P8:
            case BitmapDataBlock.FormatEnum.P8bump:
            case BitmapDataBlock.FormatEnum.Y8:
            case BitmapDataBlock.FormatEnum.Ay8:
            case BitmapDataBlock.FormatEnum.Dxt3:
            case BitmapDataBlock.FormatEnum.Dxt5:
                return(8);

            case BitmapDataBlock.FormatEnum.Dxt1:
                return(4);

            case BitmapDataBlock.FormatEnum.A8r8g8b8:
            case BitmapDataBlock.FormatEnum.X8r8g8b8:
                return(32);

            case BitmapDataBlock.FormatEnum.Argbfp32:
                return(128);

            case BitmapDataBlock.FormatEnum.Rgbfp16:
                return(48);

            case BitmapDataBlock.FormatEnum.Rgbfp32:
                return(96);

            default:
                throw new FormatException("Unsupported Texture Format");
            }
        }
Esempio n. 3
0
        private static PixelFormat GetPixelFormat(BitmapDataBlock.FormatEnum format)
        {
            switch (format)
            {
            case BitmapDataBlock.FormatEnum.A1r5g5b5:
            case BitmapDataBlock.FormatEnum.A4r4g4b4:
            case BitmapDataBlock.FormatEnum.Argbfp32:
            case BitmapDataBlock.FormatEnum.A8r8g8b8:
            case BitmapDataBlock.FormatEnum.X8r8g8b8:
                return(PixelFormat.Rgba);

            case BitmapDataBlock.FormatEnum.R5g6b5:
            case BitmapDataBlock.FormatEnum.Rgbfp16:
            case BitmapDataBlock.FormatEnum.Rgbfp32:
                return(PixelFormat.Rgb);

            case BitmapDataBlock.FormatEnum.A8y8:
                return(PixelFormat.Rg);

            case BitmapDataBlock.FormatEnum.V8u8:
            case BitmapDataBlock.FormatEnum.G8b8:
                return(PixelFormat.Rg);

            case BitmapDataBlock.FormatEnum.A8:
                return(PixelFormat.Red);

            case BitmapDataBlock.FormatEnum.P8:
            case BitmapDataBlock.FormatEnum.P8bump:
                return(PixelFormat.Red);

            case BitmapDataBlock.FormatEnum.Y8:
            case BitmapDataBlock.FormatEnum.Ay8:
                return(PixelFormat.Red);

            default:
                throw new FormatException("Unsupported Texture Format");
            }
        }
Esempio n. 4
0
        private PixelInternalFormat GetPixelInternalFormat(
            BitmapDataBlock.FormatEnum format)
        {
            PixelInternalFormat pixelFormat;

            switch (format)
            {
            case BitmapDataBlock.FormatEnum.A1r5g5b5:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.A4r4g4b4:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.A8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.A8r8g8b8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.A8y8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Argbfp32:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Ay8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Dxt1:
                pixelFormat = PixelInternalFormat.CompressedRgbaS3tcDxt1Ext;
                break;

            case BitmapDataBlock.FormatEnum.Dxt3:
                pixelFormat = PixelInternalFormat.CompressedRgbaS3tcDxt3Ext;
                break;

            case BitmapDataBlock.FormatEnum.Dxt5:
                pixelFormat = PixelInternalFormat.CompressedRgbaS3tcDxt5Ext;
                break;

            case BitmapDataBlock.FormatEnum.G8b8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.P8:
                pixelFormat = PixelInternalFormat.R8;
                break;

            case BitmapDataBlock.FormatEnum.P8bump:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.R5g6b5:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Rgbfp16:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Rgbfp32:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.V8u8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.X8r8g8b8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            case BitmapDataBlock.FormatEnum.Y8:
                pixelFormat = PixelInternalFormat.Rgba;
                break;

            default:
                throw new FormatException("Unsupported Texture Format");
            }
            return(pixelFormat);
        }