PDA

View Full Version : Textures Degraded After Edit - DXTBMP and Paint.NET



hsung
06-22-2010, 05:13 AM
I am a beginner at repainting FSX aircrafts, but have been learning to use Paint.NET 3.5.4. I notice that the textures of my repaints are somewhat blur at close up after my edits. Is this related to how I save the texture files or something else?

Below in the pic with the Come Play livery, the aircraft registration VH-OEB letters are blur compared to the pic of the original Qantas livery before my edit. What's strange is I did not edit this part of the fuselage ... so, what caused this change?

I use DXTBmp to open/save the texture files before/after editing using Paint.NET.

kwilson
06-22-2010, 06:06 AM
The first thing to remember is that DXT textures are usually degraded by each conversion process. It is best practice to convert the original textures using DXTBMP from DXT to BMP. Then edit it in your paint program and save it in your paint programs native format. Every time you want to make a change reload the texture from your paint program, export it as a 24bit BMP file and then use DXTBMP to convert it into a DXT type BMP.

The second thing is what format are you saving as? DXT1, DXT5 or 888-8 32 bit. It is a good idea to know what format the original files were in. This is shown in the title bar when you load the file into DXTBMP. Make a note of it and save your textures in the same format.

The third thing is are you saving the files with mipmaps? In the upper right of the DXTBMP screen is box titled mipmaps. If you have ticked the "include when saving" then you are including mipmaps which may make your textures more blurry when you see them from a distance.

hsung
06-22-2010, 06:13 AM
Thanks Kwilson for your clear and concise explanation :)


The first thing to remember is that DXT textures are usually degraded by each conversion process. It is best practice to convert the original textures using DXTBMP from DXT to BMP. Then edit it in your paint program and save it in your paint programs native format. Every time you want to make a change reload the texture from your paint program, export it as a 24bit BMP file and then use DXTBMP to convert it into a DXT type BMP.

To convert from DXT to BMP, do I save as Extended Bitmap or 24 bit BMP image?



The third thing is are you saving the files with mipmaps? In the upper right of the DXTBMP screen is box titled mipmaps. If you have ticked the "include when saving" then you are including mipmaps which may make your textures more blurry when you see them from a distance.
Is there a trade off for excluding mipmaps?

If I re-convert and re-save the texture files with my changes now, will these alleviate the blurs or do I have to re-do the changes from scratch?

CXA001
06-22-2010, 07:34 AM
If I re-convert and re-save the texture files with my changes now, will these alleviate the blurs or do I have to re-do the changes from scratch?

Just simply resave your textures and and normally this should alleviate the blurries. No further modifications are required. :)

hsung
06-22-2010, 08:53 AM
Excluding the mipmaps when saving did the trick ... it's like putting on correction glasses for me :D I guess the trade-off in switch off the mips are there are time lags in rendering the textures during flights?

It seems I didn't have to re-convert or re-save the files into the BMP format as Paint.NET's auto-detect save settings appears to identify the original format correctly.

Thanks to you guys for such a great tip ... I'm very grateful :)

kwilson
06-26-2010, 06:23 AM
I'll just give a quick explanation of the formats and mipmaps for reference

DXT1, DXT5 and 32 bit 888-8 are the usual formats I like to use. 888-8 is closest to a 24 bit texture that you would get from a paint program and provides the best quality. The various DXT formats have a reduced colour depth and therefore provide a lower image quality. The advantage of DXT is the reduced file size and therefore reduced load times as well as draw times.

DXT5 has a higher resolution alpha channel than DXT1 which has only a black or white alpha channel. Whether you use DXT5 or DXT1 depends on the source texture really and what alpha channel is used by that.

For comparison a 1024x1024 texture converted to DXT1 (no alpha) will be 513kb, DXT5 will be 1025kb and 888-8 will be 4,097 kb (all figures are without mipmaps).

Mipmaps are simply succesive copies of the original texture but halved in width and height with each copy and are saved with the original texture. If you have a 512x512 pixel texture you will have 256x256, 128x128, 64x64, 32x32, 16x16 mipmaps saved as well. I'm not too sure how small they go too though. As an object moves further away a smaller mipmap is used.

The main purpose of mipmaps is to improve draw times. It is quicker to draw a small 64x64 texture than a 512x512 texture and this will improve framerates at the expense of the occasional blurry texture as well as file sizes that are about 1.5 times the original file size. It just makes no sense to draw a 512x512 texture on a object in the distance that shows up as 3 or 4 pixels on screen.

Mipmaps should always be used for scenery objects and for AI aircraft for performance reasons. For user aircraft it can come down to personal taste.