private void ParseHeader() { using (var br = new BinaryReaderX(_stream, true, _byteOrder)) { br.BaseStream.Position = 0; _header = br.ReadType <KTXHeader>(); } }
/// <summary> /// Decode TGA Header. /// </summary> /// <param name="reader">Image stream.</param> /// <param name="description">Image description.</param> public unsafe void DecodeHeader(BinaryReader reader, out ImageDescription description) { KTXHeader header = ImageHelpers.ReadStruct <KTXHeader>(reader); description = new ImageDescription() { imageFormat = ImageFormat.KTX, Width = Math.Max(1, header.pixelWidth), Height = Math.Max(1, header.pixelHeight), Depth = Math.Max(1, header.pixelDepth), MipLevels = Math.Max(1, header.numberOfMipmapLevels), ArraySize = Math.Max(1, header.numberOfArrayElements), Faces = Math.Max(1, header.numberOfFaces), pixelFormat = SupportedFormats.FromOpenGLFormat(ref header), }; }