public static byte[] WrapToKXT(Stream stream, KTXConvertParameters @params) { byte[] buffer = new byte[HeaderSize + @params.DataLength]; using (MemoryStream memStream = new MemoryStream(buffer)) { using (BinaryWriter writer = new BinaryWriter(memStream)) { writer.Write(Identifier); writer.Write(EndianessLE); writer.Write((uint)Type); writer.Write(TypeSize); writer.Write((uint)Format); writer.Write((uint)@params.InternalFormat); writer.Write((uint)@params.BaseInternalFormat); writer.Write(@params.Width); writer.Write(@params.Height); writer.Write(PixelDepth); writer.Write(NumberOfArrayElements); writer.Write(NumberOfFaces); writer.Write(NumberOfMipmapLevels); writer.Write(BytesOfKeyValueData); writer.Write(@params.DataLength); stream.CopyStream(writer.BaseStream, @params.DataLength); } } return(buffer); }
public static byte[] WrapToKXT(byte[] data, int offset, KTXConvertParameters @params) { using (MemoryStream stream = new MemoryStream(data)) { stream.Position = offset; return(WrapToKXT(stream, @params)); } }