private TEX_FORMAT GetFormat(BFLIMFormat format) { switch (format) { case BFLIMFormat.L8_UNORM: case BFLIMFormat.A8: return(TEX_FORMAT.A8_UNORM); case BFLIMFormat.LA4: return(TEX_FORMAT.B4G4R4A4_UNORM); case BFLIMFormat.LA8: case BFLIMFormat.HILO8: return(TEX_FORMAT.R8G8_UNORM); case BFLIMFormat.RGB565: return(TEX_FORMAT.B5G6R5_UNORM); case BFLIMFormat.RGBX8: case BFLIMFormat.RGBA8: return(TEX_FORMAT.R8G8B8A8_UNORM); case BFLIMFormat.RGBA8_SRGB: return(TEX_FORMAT.R8G8B8A8_UNORM_SRGB); case BFLIMFormat.RGB10A2_UNORM: return(TEX_FORMAT.R10G10B10A2_UNORM); case BFLIMFormat.RGB5A1: return(TEX_FORMAT.B5G5R5A1_UNORM); case BFLIMFormat.RGBA4: return(TEX_FORMAT.B4G4R4A4_UNORM); case BFLIMFormat.BC1_UNORM: return(TEX_FORMAT.BC1_UNORM); case BFLIMFormat.BC1_SRGB: return(TEX_FORMAT.BC1_UNORM_SRGB); case BFLIMFormat.BC2_UNORM: return(TEX_FORMAT.BC2_UNORM_SRGB); case BFLIMFormat.BC3_UNORM: return(TEX_FORMAT.BC3_UNORM); case BFLIMFormat.BC3_SRGB: return(TEX_FORMAT.BC3_UNORM_SRGB); case BFLIMFormat.BC4L_UNORM: case BFLIMFormat.BC4A_UNORM: return(TEX_FORMAT.BC4_UNORM); case BFLIMFormat.BC5_UNORM: return(TEX_FORMAT.BC5_UNORM); default: throw new Exception("Unsupported format " + format); } }
public void Read(FileReader reader) { reader.ReadSignature(4, "imag"); Size = reader.ReadUInt32(); Width = reader.ReadUInt16(); Height = reader.ReadUInt16(); Alignment = reader.ReadUInt16(); BflimFormat = reader.ReadEnum <BFLIMFormat>(true); Swizzle = reader.ReadByte(); }