I modified shadergen in the current development version and tweaked the blending and got the following results:
Current unmodified development version (see below for explanation):
Torque 3.8(this is before the linear changes that cause the above):
Tweaked blending with development version:
So the tweaked version is pretty close to the original results in older versions of T3D (versions before the linear change over)
One thing to note is in the source code here https://github.com/GarageGames/Torque3D ... #L563-L573
. What is happening is the detail texture is getting brought from a 0 -> 1 (0-255) range into a -1 -> 1 range. So if the brightness is 0.5 in the original texture(128) than that value is mapped to 0, it won't darken or brighten your base texture. if your value is below 0.5 or above 0.5 is will darken or brighten the base color. The final equation is here https://github.com/GarageGames/Torque3D ... L.cpp#L585
... output += detailColor * detailBlend; The reason the first picture in my example is so dark is because the output color is in linear space which actually gives technically correct results, it just so happens the old method using gamma space looks better for most cases. So much so that CryEngine actually manually converts the 'outColor' back to gamma space, perform the final maths operation and than convert back to linear space. So yep that method is exactly what i used to produce the last screenshot, it effectively is restoring the old blend method or at least a result that is pretty darn close to it.