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); }
protected override void EncodeBlock(ref DXT5.AlphaColorBlock Block, ref ARGB_Rev[] Colors, CompressDXT.CompressionMode CompressionMode) { CompressDXT.CompressBlockDXT5(Colors, out Block, CompressionMode); }