コード例 #1
0
        public static unsafe byte[] CompressDDS(byte[] input, int width, int height, CrnglueFormat format,
                                                CrnglueMipmaps mipmaps, bool highQualitySlow)
        {
            IntPtr output;
            int    outputSize;

            fixed(byte *b = input)
            {
                if (CrnGlueCompressDDS((IntPtr)b, width, height, format, mipmaps, highQualitySlow, out output, out outputSize) == 0)
                {
                    throw new Exception("Compression failed");
                }
            }

            var result = Copy(output, outputSize);

            CrnGlueFreeDDS(output);
            Thread.Sleep(10000);
            return(result);
        }
コード例 #2
0
 static extern int CrnGlueCompressDDS(IntPtr input, int inWidth, int inHeight, CrnglueFormat format,
                                      CrnglueMipmaps mipmaps, bool highQualitySlow, out IntPtr output, out int outputSize);