PDA

View Full Version : Creating and using textures in dot DDS file format.


dextor
08-23-2011, 05:50 AM
Friends,
I was exploring the nVidia dds plugin in photoshop, and found a big list of settings and options while saving the texture file, also read that .dds format is useful to save more details in less image file memory.

So, Can anyone suggest me the appropriate option in this photoshop plug-in, that can save it with its alpha information and have about half/ <1 file memory.

EarthQuake
08-23-2011, 07:36 AM
Is there a reason you need to do this yourself? Often times, the game engine will automatically generate these files. You really shouldn't have to worry about manually creating .DDS files, and a .DDS file is certainly not something you should be saving while you're working, as it is a lossy compressed format.

Frankie
08-23-2011, 08:02 AM
yeah what EQ said. Main benefit from saving dds is editing mip chains that you don't really need 99% of the time. If you really need to save hard disk space just buy a new hard drive :)

odium
08-23-2011, 08:04 AM
We created ODCompress to convert .tga textures into .dds. It allows you to mess with the channel weightings and compression etc, which can be useful when working with different types of texture (like local, alpha etc). Grab it here:

http://www.team-blur-games.com/odium/ODCompress.jpg

http://www.team-blur-games.com/odium/ODCompress.zip

dextor
08-24-2011, 12:17 AM
Thanks,
@Earthquake , This file compression and stuff is the last step then,
@Frankie , actually I was happy about saving memory from this format,:)
@Odium , yes I found these similar options even in photoshop plug-in, it will be useful for batch compression at the end rite,
If dds format is such a compressed format, its better to go with our regular image formats.
Yet, I'd like to know more about .dds file format and its usability.

Frankie
08-24-2011, 02:21 AM
dds can store all kinds of images but if you want to compress them you will probably end up using dxt.

roughly I think dxt works by dividing up the image into 4x4 pixel segments and giving each segment a pallet of two RGB values and then can it use another two values in the mathematical thirds of the outer values. eg you could have 0,0,0 255,255,255 as the outer values then something like 85,85,85 170,170,170 as the extra values. That means if you start editing the texture and introducing new colours to the 4x4 segments it will recalculate the values and you will notice more and more compression errors.

The nvidia plugins also auto generates mips by default,these smaller versions of the image the game loads for far away objects, that will end up looking better in game and improve performance.

It's still not clear why you want to use them. Like EQ mentioned it might already be happening as part of your pipeline, saving hard disk space on your source files isn't a good enough reason for having to deal with dds dxt compressoin in your files.

If you really need to save hard disk space here's a list of loss less data formats from wiki

http://en.wikipedia.org/wiki/Lossless_compression

Graphics
ILBM (lossless RLE compression of Amiga IFF images)
JBIG2 (lossless or lossy compression of B&W images)
JPEG-LS (lossless/near-lossless compression standard)
JPEG 2000 (includes lossless compression method, as proven by Sunil Kumar, Prof San Diego State University)
JPEG XR formerly WMPhoto and HD Photo, includes a lossless compression method
PGF Progressive Graphics File (lossless or lossy compression)
PNG Portable Network Graphics
TIFF Tagged Image File Format
Gifsicle (GPL) Optimize gif files
Jpegoptim (GPL) Optimize jpeg files

odium
08-24-2011, 03:43 AM
Our engine supports both .tga loading and .dds, but not at the same time. We convert all our .tga textures into .dds and keep them alongside eachother in the pak files so that if the user wants to use compressed textures, he can.

This gives us a few benefits. One is that we ALWAYS select the compression outselves, which gives the best visuals. You may notice a lot of .dds textures are heavy on artifacts, we don't have that. The other benefit is that it means the media is already there... The engine doesn't have to convert on the fly, which means you can load up a LOT faster.

From a size point of view, its silly to include both, sure, but OverDose is a PC title, and it makes sense for us to do it this way. Quite a few id tech games have done it now.

Frankie
08-24-2011, 04:24 AM
when you say .tga loading do you mean best guess converting to .dds on load?

Not that it matters really, what you discribe sounds like the best way. When I worked on id tech I didn't have to save a dds texture once but at my current company I have to save dds textures and the common problem is someones lost the source PSD and has to tweak the dds texture and artifacts become a very real problem. I suppose the actual ideal workflow would be convert PSDs direct to dds with the converter as someone always forgets to save the PSD when they are just tweaking the texture brightness.

Also you must strip out the tgas and other unneeded files when you do a proper build?

Frankie
08-24-2011, 04:28 AM
Also would you mind explaining the waiting settings in your tool? I'd be interested to hear about them.

odium
08-24-2011, 04:31 AM
Heres the SDK entry for the tool, will tell you all you need to know here:

http://www.team-blur-games.com/wiki/index.php?title=Image_Compressor

"Also you must strip out the tgas and other unneeded files when you do a proper build?"

Like I said, we offer .tga for best image quality and then the .dds for compressed textures, so we do both. Its a PC indie title. Of course if releasing into the wild at retail, it would be a different story I'm sure.

Eric Chadwick
08-24-2011, 05:50 PM
Some more about DDS and DXT here, fwiw
http://wiki.polycount.com/DDS

arronlee
05-16-2013, 07:50 PM
I also want to know about what does "waiting settings" mean?
BTW, I love SDKs, because the way of its processing is simpler and faster.
However, the program installed in your PC is not so convenient.
Thanks for it, I will try later.