Beispiel #1
0
        public void TestDecodeBlock()
        {
            var Block1Data = new byte[] { 0xD5, 0x5B, 0x5D, 0xB2, 0x49, 0x00, 0xFF, 0xB2, 0xE6, 0xF6, 0xDE, 0x94, 0xFF, 0xFF, 0x02, 0xFE };

            var Block  = new MemoryStream(Block1Data).ReadStruct <DXT5.AlphaColorBlock>();
            var Colors = new ARGB_Rev[16];

            Block.Decode(ref Colors);

            Assert.AreEqual(
                "#E0D6A973,#E0D6A900,#E0D6A900,#E0D6A900,#E0D6A9BC,#E0D6A95B,#E0D6A95B,#E0D6A95B," +
                "#E3DAAED5,#E0D6A9D5,#E0D6A9D5,#E0D6A9D5,#E3DAAE8B,#E6DEB4FF,#E6DEB4FF,#E6DEB4FF"
                ,
                Colors.ToStringArray(",")
                );
        }
Beispiel #2
0
        public void TestCompressDXT5()
        {
            var Colors1 = new ARGB_Rev[16]
            {
                "#E0D6A973",
                "#E0D6A900",
                "#E0D6A900",
                "#E0D6A900",
                "#E0D6A9BC",
                "#E0D6A95B",
                "#E0D6A95B",
                "#E0D6A95B",
                "#E3DAAED5",
                "#E0D6A9D5",
                "#E0D6A9D5",
                "#E0D6A9D5",
                "#E3DAAE8B",
                "#E6DEB4FF",
                "#E6DEB4FF",
                "#E6DEB4FF",
            };

            var Colors2 = new ARGB_Rev[16];
            var Block   = default(DXT5.AlphaColorBlock);

            //var Color1 = default(ARGB_Rev);
            //var Color2 = default(ARGB_Rev);

            CompressDXT.CompressBlockDXT5(Colors1, out Block, CompressDXT.CompressionMode.Normal);

            Console.WriteLine(StructUtils.StructToBytes(Block).ToHexString().ToUpper());

            Block.Decode(ref Colors2);

            Assert.AreEqual(
                "#E0D6A973,#E0D6A900,#E0D6A900,#E0D6A900,#E0D6A9BC,#E0D6A95B,#E0D6A95B,#E0D6A95B,#E3DAAED5,#E0D6A9D5,#E0D6A9D5,#E0D6A9D5,#E3DAAE8B,#E6DEB4FF,#E6DEB4FF,#E6DEB4FF",
                Colors1.ToStringArray(",")
                );
            Assert.AreEqual(
                "#DED6AC6D,#DED6AC00,#DED6AC00,#DED6AC00,#DED6ACB6,#DED6AC6D,#DED6AC6D,#DED6AC6D,#E0D8AEDA,#DED6ACDA,#DED6ACDA,#DED6ACDA,#E0D8AE91,#E6DEB4FF,#E6DEB4FF,#E6DEB4FF",
                Colors2.ToStringArray(",")
                );

            //CompressionSimpleDXT5.FindColorPair(Colors1, out Color1, out Color2);

            //CompressYCoCgDXT5.CompressBlock(Colors1, ref Block);
        }