コード例 #1
0
ファイル: DXT5Test.cs プロジェクト: talestra/tov
        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);
        }
コード例 #2
0
 protected override void EncodeBlock(ref DXT5.AlphaColorBlock Block, ref ARGB_Rev[] Colors, CompressDXT.CompressionMode CompressionMode)
 {
     CompressDXT.CompressBlockDXT5(Colors, out Block, CompressionMode);
 }