From b288e3db7eb5d1c27d51975659b4396caf3ee97a Mon Sep 17 00:00:00 2001 From: castano Date: Thu, 26 Aug 2010 16:46:03 +0000 Subject: [PATCH] Merge fix for issue 134 into trunk. --- trunk/src/nvtt/CompressorDX9.cpp | 2 +- trunk/src/nvtt/QuickCompressDXT.cpp | 2 +- trunk/src/nvtt/tools/compress.cpp | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/trunk/src/nvtt/CompressorDX9.cpp b/trunk/src/nvtt/CompressorDX9.cpp index 00e70eb..a514770 100644 --- a/trunk/src/nvtt/CompressorDX9.cpp +++ b/trunk/src/nvtt/CompressorDX9.cpp @@ -132,7 +132,7 @@ void NormalCompressorDXT1a::compressBlock(ColorBlock & rgba, nvtt::AlphaMode alp uint alphaMask = 0; for (uint i = 0; i < 16; i++) { - if (rgba.color(i).a < 128) alphaMask |= (3 << (i * 2)); // Set two bits for each color. + if (rgba.color(i).a == 0) alphaMask |= (3 << (i * 2)); // Set two bits for each color. } const bool isSingleColor = rgba.isSingleColor(); diff --git a/trunk/src/nvtt/QuickCompressDXT.cpp b/trunk/src/nvtt/QuickCompressDXT.cpp index 8b6b2bf..213463f 100644 --- a/trunk/src/nvtt/QuickCompressDXT.cpp +++ b/trunk/src/nvtt/QuickCompressDXT.cpp @@ -533,7 +533,7 @@ void QuickCompress::compressDXT1a(const ColorBlock & rgba, BlockDXT1 * dxtBlock) for (uint i = 0; i < 16; i++) { - if (rgba.color(i).a < 128) { + if (rgba.color(i).a == 0) { hasAlpha = true; break; } diff --git a/trunk/src/nvtt/tools/compress.cpp b/trunk/src/nvtt/tools/compress.cpp index 5d329db..caeedfb 100644 --- a/trunk/src/nvtt/tools/compress.cpp +++ b/trunk/src/nvtt/tools/compress.cpp @@ -482,8 +482,11 @@ int main(int argc, char *argv[]) // Dither alpha when using BC2. compressionOptions.setQuantization(false, true, false); } - - if (format == nvtt::Format_RGBA) + else if (format == nvtt::Format_BC1a) { + // Binary alpha when using BC1a. + compressionOptions.setQuantization(false, true, true, 127); + } + else if (format == nvtt::Format_RGBA) { if (luminance) {