PDA

View Full Version : FSX and DDS files



mmann
September 25th, 2011, 12:58
After the discussion here at SOH about how different cab file generation tools have implications with their performance affects in FSX, I thought it might be of interest to show the results that can occur with the use of different graphics programs in the creation of DDS files. This should be of interest to those who do repaints as well as those creating textures for custom FSX objects.

The basic thread of interest describing this can be read here:

http://www.fsdeveloper.com/forum/showthread.php?t=73631

A number of caveats and notes:

1. Normally the best results are obtained by using the NVIDIA Plug-in for Adobe Photoshop, followed by DXTBmp and finally the FSX SDK Image Tool. As always, your mileage may vary, so try all three tools (if you have them) to determine what produces the best results for the particular image you are working with.

2. All three programs will produce a DDS file of approximately the same size, any major differences would be the result of the number of MIPS used (if any) and the DDS compression format used (DXT1, DXT3 or DXT5). That being said, the end result can be noticeably different or quite subtle depending on the intricacies of the source image.

3. You will notice that all conversions are worse than the original BMP image; the DDS is a "lossy" compression. Always do your conversions on the original BMP or Photoshop image if at all possible.

4. Don't waste your time looking at the results in FSX (where MIPS could come into play), just save your different converted DDS images in separate folders and compare with an image viewer (I use IrfanView).

roger-wilco-66
September 25th, 2011, 13:03
Very intersting insights, thanks Mike!

Cheers,
Mark

N2056
September 25th, 2011, 13:13
Of note is that the Nvidia plug in also works in Paintshop Pro (v9 at least). That's the tool I use when making textures for FSX.

mmann
September 25th, 2011, 13:20
There are other DDS plugin's available as well, such as the GIMP DDS Plugin. The point I want to emphasize is that you should compare the different plugins available to you to determine which one delivers the best results using a given image.

falcon409
September 25th, 2011, 13:21
Good stuff Mike.
Concerning Mips, in another discussion where the question of mips was raised, I was seemingly in the minority because as a rule I never use them. I'm not near as adept at the intricacies of FSX repainting as many others are, but why would I spend hours producing a HiRes aircraft livery only to add something that is known to cause the blurries? In every case where I had trouble with blurred textures, eliminating the mips cured it. The only applications I can see worthwhile for mips would be custom scenery objects where distance plays a part in fps for many systems and for AI Traffic where you're not concerned with having a HiRes aircraft livery and it can help with fps in traffic intensive areas.:salute:

falcon409
September 25th, 2011, 13:23
Of note is that the Nvidia plug in also works in Paintshop Pro (v9 at least). That's the tool I use when making textures for FSX.
Yep, same here Robert, although I'm using PSP8, but with the same results, saving to DDS directly inside PSP8 yields a nice crisp finished texture.:salute:

mmann
September 25th, 2011, 13:44
MIPS definitely seem to be system dependent. My system absolutely requires them, some absolutely don't. The best thing is to distribute your files the way that works best with your own setup and let the end user take care of adding or removing the MIPS as they see fit. Mind you the more customer friendly approach would be to provide the textures both with and without MIPS (but I was never this thoughtful)! :icon_lol:

anthony31
September 25th, 2011, 20:25
There's also dxtex which is part of the DirectX SDK. 500mb download to get a little program though :( . Good thing is that the SDK includes the source code for dxtex so if you want to tinker with it you can.

mmann
September 29th, 2011, 19:42
There's also dxtex which is part of the DirectX SDK. 500mb download to get a little program though :( . Good thing is that the SDK includes the source code for dxtex so if you want to tinker with it you can.

I downloaded the February 2010 DirectX SDK from Microsoft which was only 554.0 MB (compared to the 571.0 MB for the June 2010 version). The good news is that the DXSDK.exe can be opened with WinRAR and I was able to extract the DxTex.exe and the two dll files that it required without installing the SDK. The size of the texture editor with it's dll's was only 2.25 MB so you end up downloading a lot with little to show for it if you don't intend to make use of the rest of the SDK.

I compared the DDS file output from DxTex with the output from NVIDIA Plug-in for Adobe Photoshop which was my previous pick for best output. The two produced results that were extremely close to each other. I would say if you prefer a sharper (maybe too sharp?) image then DxTex might be preferred. Otherwise you could work with whichever tool feels most comfortable to you and not give up much in the quality department either way.

To be honest I was actually quite surprised that DxTex gave better results than Image Tool, inasmuch as both tools are from Microsoft I expected them to produce the same quality of output.

tommieboy
September 29th, 2011, 19:50
.....My system absolutely requires them.....

Mine too; that's why I include them as an option with my repaints.

Tommy

falcon409
September 29th, 2011, 20:38
. . . . .My system absolutely requires them, some absolutely don't. . . . . . . . .
Mike,
Sorry to pick on you, lol, but how do you determine that a system absolutely requires mips? That just seems an odd statement to me, I guess mainly because as I mentioned above, I fail to see the merit of mips, especially where crisp aircraft textures are concerned. I always considered them a leftover from the FS9 days that some quality control guy on the ACES team failed to remove before FSX was released, lol. Why would a system have to have mips?

anthony31
September 29th, 2011, 21:35
I downloaded the February 2010 DirectX SDK from Microsoft which was only 554.0 MB (compared to the 571.0 MB for the June 2010 version). The good news is that the DXSDK.exe can be opened with WinRAR and I was able to extract the DxTex.exe and the two dll files that it required without installing the SDK. The size of the texture editor with it's dll's was only 2.25 MB so you end up downloading a lot with little to show for it if you don't intend to make use of the rest of the SDK.

I compared the DDS file output from DxTex with the output from NVIDIA Plug-in for Adobe Photoshop which was my previous pick for best output. The two produced results that were extremely close to each other. I would say if you prefer a sharper (maybe too sharp?) image then DxTex might be preferred. Otherwise you could work with whichever tool feels most comfortable to you and not give up much in the quality department either way.

To be honest I was actually quite surprised that DxTex gave better results than Image Tool, inasmuch as both tools are from Microsoft I expected them to produce the same quality of output.

Hi Mike.

I was wondering if you could tell me which version of dxtex you got?

I downloaded the August 2009 SDK and my copies of dxtex (both the x64 and x86 versions) say it is version 9.27.1734.0

If you have the same version it would save me having to download 500MB just to find out if it has been updated or not.

I find dxtex quite useful as it allows me to create a batch file and convert a whole bunch of .bmps at once. Plus I use PaintShopPro, I've got the NVIDIA plug in for it but it doesn't really work (or I haven't figured it out) with alpha channels all that well (at least PSP doesn't).

mmann
September 30th, 2011, 04:52
Hi Anthony, my copies of DxTex say version 9.28.1886.0 with a date of 2/4/2010. Whether DxTex has changed in any way from your version, or indeed if the version included in the June 2010 SDK is different again, I couldn't say. I do wish that the DX utilities were available as separate downloads.

OleBoy
September 30th, 2011, 06:34
Mike, interesting read of information you're sharing here. You're talking of the February release of the SDK, and I've tracked it down. I'm considering downloading it, all though something comes to mind here that's making me hesitant. That being, do you plan on any further comparisons to newer releases of the SDK since then that might possibly give even better image results?

It is a big download, but if it's beneficial for more superior end results of my repainting efforts, I'm all for it.

mmann
September 30th, 2011, 06:44
I wasn't intending to do any further testing, but then Anthony had to post his version number!!

OleBoy
September 30th, 2011, 07:22
Well, I downloaded the version mentioned Mike, and it seems my download is corrupt. I'll download it again, although I'm not sure what .dll files it will be needing, unless after I try to run DxTex I get a message saying what ones are needed. Currently I'm in trial-and-error mode..lol.

mmann
September 30th, 2011, 10:36
First I should clarify that the importance of which graphics program is used in the creation of DDS files borders on the esoteric. I should also mention that the difference between the various programs can usually be best described as subtle! If you find the detail of a DDS file which doesn't appear as sharp as it should be, compare it to the original BMP or Photoshop file. If there is a noticeable difference you might be able to improve it slightly by using another graphics program in lieu of your usual program of choice.

If you still wish to carry on with implementing the DxTex program from the DirectX SDK, the program will bring up a dialog box saying that the application has failed to start and it will indicate which DLL was not found. If you are using the x86 version of the program, the two DLL's that are required are d3dx9_42.dll and d3dref9.dll which are both found in the DirectX SDK with a bit of searching (be aware that one of the DLL's is hidden within a CAB file).

scott967b
September 30th, 2011, 14:35
While on the subject has anyone compared ATI Compressonator 1.50 for DDS?

Also I came across a white paper once that showed how much impact the scaling method used has when creating mipmaps (quite a bit).

scott s.
.

anthony31
September 30th, 2011, 16:12
Thanks Mike

Maybe sometime I will get aroung to downloading the latest SDK.

I have found with the Direct X SDK that if you install the whole thing it will make a whole bunch of file extension links, eg .x files will open with the directx file viewer. Also, when I installed the whole DirectX SDK it obviously put the required dlls into the windows folder as now I can just put the dxtex program wherever I like and it will run just fine.

BTW, is it just me or has anyone ever tried right clicking on a .jpg file in windows and seen an option to "Convert to file format..."? This allows me to a convert jpgs to a whole bunch of dds textures as well as control the number of mips and the filters used. I think it might have come from when I installed the Directx SDK. It only appears on jpg pics though, not with bmps which makes it useless, but interesting.49241

mmann
September 30th, 2011, 18:05
Since I have more bandwidth than brains I decided to download the June 2010 version of DirectX SDK from Microsoft. After the 571.0 MB worth of download had finished I was pleased to see that DXSDK_Jun10.exe could still be opened with WinRAR and I was able to extract the DxTex.exe directly from the SDK. The DxTex.exe is now version 9.29.1962.0 and the size is 124 KB as opposed to 117 KB for the older version.

Next I ran the program and it informed me that I required mfc100.dll, which I downloaded. I ran the program again and it informed me that I required msvcr100.dll, which I downloaded as well. I ran the program a third time and it produced the following dialog box: The procedure entry point wmemcpy_s could not be located in the dynamic link library MSVCR100.dll.

So I did a quick internet check with my buddy Google and determined that the MSVCR100.dll I had downloaded was different than the one that DxTex.exe was expecting, so I downloaded the Microsoft Visual C++ 2010 x86 Redistributable Setup. After I had installed that, I was able to remove the two DLL's that I had earlier installed but then had to install d3dref9.dll and d3dx9_43.dll. It's a good thing I am blessed with more curiosity than a cat, I know this because when I gave my two cats the complete DLL details, they both just gave me a blank stare and a yawn. In the cats defense, my wife just gave me a blank stare as well, without the yawn fortunately!

Now, the moment of truth had arrived! I loaded my BMP file with the new version of DxTex.exe and created a DDS file that I compared with the DDS file generated with the older version. If there was even one pixel different between the two DDS files, I sure wasn't able to detect it!

In conclusion; if you don't require the support for Visual Studio 2010 that the June 2010 version of DirectX SDK introduces, I highly recommend downloading the February 2010 DirectX SDK instead. If you are using the NVIDIA Plug-in then I would recommend just sticking with that, as any difference in results compared with DxTex.exe are too subtle to be worth the trouble.