BinomialLLC / crunch

Advanced DXTc texture compression and transcoding library
http://binomial.info
Other
855 stars 185 forks source link

xGxR sets R channel to 0 instead of 255. #5

Open fahickman opened 8 years ago

fahickman commented 8 years ago

DXT5nm probably isn't used much anymore, but setting the red channel to 255 instead of 0 lets you use it interchangeably with DXT1, or BC5, or whatever in the same shader. Like this:

normal.x = tex.x * tex.a; normal.y = tex.y; normal.z = sqrt(1 - normal.x * normal.x - normal.y * normal.y);

diff --git a/crnlib/crn_image_utils.cpp b/crnlib/crn_image_utils.cpp
index 409e675..d222a08 100644
--- a/crnlib/crn_image_utils.cpp
+++ b/crnlib/crn_image_utils.cpp
@@ -1075,7 +1075,7 @@ namespace crnlib
                   }
                   case image_utils::cConversion_To_xGxR:
                   {
-                     dst.r = 0;
+                     dst.r = 255;
                      dst.g = src.g;
                      dst.b = 0;
                      dst.a = src.r;