In another fs site, there is a great deal of discussion concerning BMP files with DXT3 compression and "no alpha channel". I guess this started with aircraft and spread to scenery objects. The claim is made that these bmp textures are causing stutters. I suppose that could be true but I'm surprised if it is that it isn't widely known.
Dick "rhumbaflappy" checked out some of these "alphaless" DXT3 files. The first thing, is that what is meant by alphaless, is that when the bmp is opened in imagetool, imagetool reports "Alpha: None" (the actual bmp does contain valid DXT3-format alpha data). What Dick found was that imagetool is setting this "Alpha: " data based on the value of byte x3F in the bmp file. When set to x01 it causes imagetool to report "None".
I did some tests with fs9 imagetool. I created three texture bmps in GIMP. The first was a straight 24 bit RGB. The second I created an all-white (255) alpha channel and saved as 32 bit RGBA. For the third I applied a gradient to the alpha channel from 0-255, again saved as 32 bit RGBA.
I then opened all three in fs9 imagetool. For each I set image format to DXT3 and then did "create mipmaps" and saved the file. All three were reported in imagetool (and confrimed with DXTbmp) as valid DXT3 with mips. However, imagetool reported texture 1 and 2 as "Alpha: None", while the third was reported "Alpha: Alpha". So it appears that fs9 imagetool when converting textures into DXT3 will create a "white" alpha channel if none exists, and if the alpha channel is "white" it will flag the bmp as "no alpha" and byte x3F is 01. I repeated the test except using DXTbmp, and for all three fs9 imagetool reports "Alpha: Alpha" and byte x3F is set to x04.
Now aside from the question of the possible performance hit if a DXT3 BMP has the "Alpha: None" set, I wonder the application issue of having or not having alpha data that's all white in an fs9 material (it was suggested at the other site that DXT1 with no alpha should be used instead of all-white alpha DXT3). The sdk seems to suggest that DXT3 is used for diffuse map, though I don't suppose the case of the alpha being all-white was considered. So I wonder if there is any problem using DXT1 no alpha in this case or if it is beeter to use DXT3 even with all-white alpha (in this case either using DXTbmp instead of fs9 imagetool to convert or hex-edit byte x3F to x04)?
scott s.
.
Dick "rhumbaflappy" checked out some of these "alphaless" DXT3 files. The first thing, is that what is meant by alphaless, is that when the bmp is opened in imagetool, imagetool reports "Alpha: None" (the actual bmp does contain valid DXT3-format alpha data). What Dick found was that imagetool is setting this "Alpha: " data based on the value of byte x3F in the bmp file. When set to x01 it causes imagetool to report "None".
I did some tests with fs9 imagetool. I created three texture bmps in GIMP. The first was a straight 24 bit RGB. The second I created an all-white (255) alpha channel and saved as 32 bit RGBA. For the third I applied a gradient to the alpha channel from 0-255, again saved as 32 bit RGBA.
I then opened all three in fs9 imagetool. For each I set image format to DXT3 and then did "create mipmaps" and saved the file. All three were reported in imagetool (and confrimed with DXTbmp) as valid DXT3 with mips. However, imagetool reported texture 1 and 2 as "Alpha: None", while the third was reported "Alpha: Alpha". So it appears that fs9 imagetool when converting textures into DXT3 will create a "white" alpha channel if none exists, and if the alpha channel is "white" it will flag the bmp as "no alpha" and byte x3F is 01. I repeated the test except using DXTbmp, and for all three fs9 imagetool reports "Alpha: Alpha" and byte x3F is set to x04.
Now aside from the question of the possible performance hit if a DXT3 BMP has the "Alpha: None" set, I wonder the application issue of having or not having alpha data that's all white in an fs9 material (it was suggested at the other site that DXT1 with no alpha should be used instead of all-white alpha DXT3). The sdk seems to suggest that DXT3 is used for diffuse map, though I don't suppose the case of the alpha being all-white was considered. So I wonder if there is any problem using DXT1 no alpha in this case or if it is beeter to use DXT3 even with all-white alpha (in this case either using DXTbmp instead of fs9 imagetool to convert or hex-edit byte x3F to x04)?
scott s.
.