Exemple #1
0
        private KtxMipmap CreateMipMap(byte[] data, Size mipSize)
        {
            var mip = new KtxMipmap((uint)data.Length, (uint)mipSize.Width, (uint)mipSize.Height, 1);

            mip.Faces[0] = new KtxMipFace(data, (uint)mipSize.Width, (uint)mipSize.Height);

            return(mip);
        }
Exemple #2
0
        private ulong GetTotalSize()
        {
            ulong totalSize = 0;

            for (int mipLevel = 0; mipLevel < Header.NumberOfMipmapLevels; mipLevel++)
            {
                for (int face = 0; face < Header.NumberOfFaces; face++)
                {
                    KtxMipmap mipmap = Faces[face].Mipmaps[mipLevel];
                    totalSize += mipmap.SizeInBytes;
                }
            }

            return(totalSize);
        }
Exemple #3
0
        private byte[] GetAllTextureData()
        {
            byte[] result = new byte[GetTotalSize()];
            uint   start  = 0;

            for (int face = 0; face < Header.NumberOfFaces; face++)
            {
                for (int mipLevel = 0; mipLevel < Header.NumberOfMipmapLevels; mipLevel++)
                {
                    KtxMipmap mipmap = Faces[face].Mipmaps[mipLevel];
                    mipmap.Data.CopyTo(result, (int)start);
                    start += mipmap.SizeInBytes;
                }
            }

            return(result);
        }