DDSopt - Optimization of DDS Textures by Ethatron
Skyrim » Utilities
Added: 09/01/2012 - 03:55PM
Updated: 31/01/2013 - 01:31AM

5,671 Endorsements

0.8.0 Latest version

62,039 Unique D/Ls

128,471 Total D/Ls

368,639 Total Views

Uploaded by Ethatron


Last updated at 1:31, 31 Jan 2013 Uploaded at 15:55, 9 Jan 2012

DDSopt is a tool which manages (preview & resizes) and recompresses your DDS-files. It is an optimal tool for ensuring your textures are saved in the right format, to create high quality DDS-textures from your sources (PNG etc.) and to package down-scaled versions of your textures. It has been forked off NIFopt and both programm share the same underlying technology regarding DDSs and BSAs. It does everything BSAopt does, you don't need both tools.

Requires Vista (and up).
Fully multi-threaded, and for 32bit and 64bit Windows.

The documentation and newest version can be found here:
The bugtracker is here:

This is what it can do to the Skyrim-Textures and Mods:
Skyrim - Textures/ 2383177381 -> 2242262835 94.8%
Better Dwemer/ 232233284 -> 178661228 76.9%
Skyrim HD/ 1389453680 -> 1400638264 100.8% ("lots" of missing mip-maps)

There has been a bit of discussion here:
DDSopt of use?
If you've released a texture mod, or plan to, please read

This is rather good information about (re)normalization and also 565:

Mods which have been DDS-optimized (besides my own):
Skyrim Weapons and Armor Tweaks and Changes Completed by cmdo

Version history:
- the edge bleeds
- resource-management fixes (no more crash on end, and when you preview textures)
- included the gain from texture-optimizations in the effectivity-bar
- fixed previews for non-DDS files (JPEG etc.)
- fixed "normal steepness", was inverted
- fixed the double-counting progress
- added missing "passthrough" for not leaving files behind
- typed fields (in/out) auto-update the tree only when loosing focus now (not on every key)
- inputs can now be inside BSAs (".../test.bsa/textures" is valid now)
- double-click into the tree loads the location into the input-field
- removed all extensions from the dialog which were unsupported
- fixed a bug in the normal-map quantizer
- fixed crash caused by "removed all extensions" for browsing an output
- a few UI fixes, probably too minar to have been seen
- added the ability to ignore border-regions while detecting possible optimizations
- added bitfield formats (4444, 565, 1555)
- speed improvements, jump-free and almost branch-free SSE2
- added the option to skip optimized files
- added the possibility to save individual files
- added the constraints-configuration
- very high quality 565 compression for model-space normal maps added, you have to normalize to see them in the "pleasing" colors from now on
- fixed a channel-swap in the 8-bit MSN normalizer
- fixed the resolution-constraint letting pass landscape-oriented maps one res. too big
- fixed desync of saveas and settings
- added percentages to the resolution-constraints
- added the resolution-constraint to the save-as in the preview as well
- added the very high quality mode to tangent-space normal-maps as well (565 and 888)
- added "_nor" as tangent-space identifier and "_diff" as diffuse-map identifier ( just for you Jaysus ;^) )
- added the possibility for whitelists (custom configs per file) in "DDSopt.ini"
- gracefull degradation of backfacing tangent-space normals, who would have thought someone would make those ... :-(
- took out the white matte replacement because Serious HD apparently has already partial derivative normal-maps (respect), so white is a valid vector in that case
- added progress in the taskbar-icon for windows 7
- fixed a problem determining a file-size when the BSA uses prefixed filenames
- fixed Oblivion BSA regression
- reworked core, faster & higher quality (best DDS-compressor core I evaluated)
- [to be completed, will be updated when the updated BSA-core from BSAopt is stable and ported]