Example #1
0
        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);
        }
Example #2
0
 public static byte[] WrapToKXT(byte[] data, int offset, KTXConvertParameters @params)
 {
     using (MemoryStream stream = new MemoryStream(data))
     {
         stream.Position = offset;
         return(WrapToKXT(stream, @params));
     }
 }