예제 #1
0
 public void Read(FileReader reader)
 {
     reader.ReadSignature(4, "imag");
     Size        = reader.ReadUInt32();
     Width       = reader.ReadUInt16();
     Height      = reader.ReadUInt16();
     BCLIMFormat = reader.ReadEnum <BCLIMFormat>(true);
     Flags       = reader.ReadByte();
     Alignment   = reader.ReadUInt16();
     ImageSize   = reader.ReadUInt32();
 }
예제 #2
0
        private TEX_FORMAT GetFormat(BCLIMFormat format)
        {
            switch (format)
            {
            case BCLIMFormat.L8_UNORM:
                return(TEX_FORMAT.L8);

            case BCLIMFormat.A8:
                return(TEX_FORMAT.A8_UNORM);

            case BCLIMFormat.LA4:
                return(TEX_FORMAT.LA4);

            case BCLIMFormat.LA8:
                return(TEX_FORMAT.LA8);

            case BCLIMFormat.HILO8:
                return(TEX_FORMAT.HIL08);

            case BCLIMFormat.ETC1:
                return(TEX_FORMAT.ETC1_UNORM);

            case BCLIMFormat.ETC1A4:
                return(TEX_FORMAT.ETC1_A4);

            case BCLIMFormat.RGB565:
                return(TEX_FORMAT.B5G6R5_UNORM);

            case BCLIMFormat.RGBX8:
            case BCLIMFormat.RGBA8:
                return(TEX_FORMAT.R8G8B8A8_UNORM);

            case BCLIMFormat.RGBA8_SRGB:
                return(TEX_FORMAT.R8G8B8A8_UNORM_SRGB);

            case BCLIMFormat.RGB10A2_UNORM:
                return(TEX_FORMAT.R10G10B10A2_UNORM);

            case BCLIMFormat.RGB5A1:
                return(TEX_FORMAT.B5G5R5A1_UNORM);

            case BCLIMFormat.RGBA4:
                return(TEX_FORMAT.B4G4R4A4_UNORM);

            case BCLIMFormat.BC1_UNORM:
                return(TEX_FORMAT.BC1_UNORM);

            case BCLIMFormat.BC1_SRGB:
                return(TEX_FORMAT.BC1_UNORM_SRGB);

            case BCLIMFormat.BC2_UNORM:
                return(TEX_FORMAT.BC2_UNORM_SRGB);

            case BCLIMFormat.BC3_UNORM:
                return(TEX_FORMAT.BC3_UNORM);

            case BCLIMFormat.BC3_SRGB:
                return(TEX_FORMAT.BC3_UNORM_SRGB);

            case BCLIMFormat.BC4L_UNORM:
            case BCLIMFormat.BC4A_UNORM:
                return(TEX_FORMAT.BC4_UNORM);

            case BCLIMFormat.BC5_UNORM:
                return(TEX_FORMAT.BC5_UNORM);

            default:
                throw new Exception("Unsupported format " + format);
            }
        }