Home Technical Talk

Creating and using textures in dot DDS file format.

polycounter lvl 10
Offline / Send Message
dextor polycounter lvl 10
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.

Replies

  • EarthQuake
    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
    Offline / Send Message
    Frankie polycounter lvl 19
    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
    Offline / Send Message
    odium polycounter lvl 18
    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:

    ODCompress.jpg

    http://www.team-blur-games.com/odium/ODCompress.zip
  • dextor
    Offline / Send Message
    dextor polycounter lvl 10
    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
    Offline / Send Message
    Frankie polycounter lvl 19
    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
    Offline / Send Message
    odium polycounter lvl 18
    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
    Offline / Send Message
    Frankie polycounter lvl 19
    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
    Offline / Send Message
    Frankie polycounter lvl 19
    Also would you mind explaining the waiting settings in your tool? I'd be interested to hear about them.
  • odium
    Offline / Send Message
    odium polycounter lvl 18
    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
    Some more about DDS and DXT here, fwiw
    http://wiki.polycount.com/DDS
  • arronlee
    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.
Sign In or Register to comment.