I use dxt5 with interpolated alpha for all of my dds files - should I be using something different? Sorry, I didn't quite understand what you meant by that.
dxt5 with alpha is good for the cl and the da map...
For the nm map, a lot of people was making a copy of the red channel to the alpha channel and save it in dxt5 format... reason is simple... a better quality nm map... the alpha channel use more bit for the compression that the red channel... by example, Id Software worked around the normalmap compression issues in Doom 3 by moving the red component into the alpha channel before compression and moving it back during rendering in the pixel shader.
Now, saving a nm map using dxt5 will lead to a bad quality... saving it in Dxtn ( or what it is called in your plug-in, i use gimp and the gimp plug-in ) is like moving the red channel to the alpha and save it in dxt5 format... if you take a look at the shader code of the GS_Ship.fx, it is clearly write in the comment :
float3 GetNormalInTangentSpace(float2 texCoord)
{
//using nvidia's DXT5_NM format:
//http://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0507D&L=DIRECTXDEV&P=R1929&I=-3
float4 sample = 2.f * tex2D(TextureNormalSampler, texCoord) - 1.f;
float x = sample.a;
float y = sample.g;
float z = sqrt(1 - x * x - y * y);
return normalize(float3(x,y,z));
}
For more info, take a look at : http://www.poopinmymouth.com/tutorial/dds_types.html ... and it work with ATI card because ATI have use it first, was included later with nvidia... if you wish to use the usual dxt5, you need to :
- Copy the NM output Red Channel to the Alpha Channel.
- Then color Red and Blue channels solid black.
before saving...
By the way, you can see in the sins ship shader code that only sample.a ( alpha channel ) and sample.g ( green channel ) is used for normal map... so, if you don't use the dxt_nm or the dxt5 with moving the red channel to the alpha ( the red and blue solid black lead to smaller file size )... you will be only using only the green channel of the normap map who like a simple grey scale bumpmap...
Hope that it "makes sence" again !!!
These post and the previous one are more about explaining the "why"... and are only related to sins 1.1 and newer version...
PS: make a try with one of your normal map texture ( the colored one )... use the dxt_nm or dxt5 with red chhannel moved to the alpha... and see the difference in game... by the way, thank to Tobi from the B5 mod who have explain me the "how" for the nm map ( moving red channel to the alpha )... for the "why", i have simply need to read the Stardock shader code...