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(); }
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); } }