Tutorial on how to convert DDS files to PNG.
You've probably noticed that every .dds
has an associated .dds.header
.
Contrary to what I would expect, the .dds.header
is actually just a low-resolution
version of the .dds
; it is not a "header" per se, it's a tiny version of the original image.
The PoE game client loads all the low-resolution textures (the .dds.header
files)
on startup so that it can serve those while the larger textures load.
Microsoft distributes a tool called TexConv that can
recursively convert all the DDS files to PNG for you, and even store them in a seperate folder whist perserving folder structure -r:keep
.
However, in its default configuration, the PNG files that it generates (whilst valid) are not properly understood by the vast
majority of programs (resulting in the colors being too bright). Only a handful of programs, mostly image editing software,
can properly read the PNG files.
To convert the DDS files to PNG in a format understood by most programs include the parameters -f R8G8B8A8_UNORM_SRGB -srgbi
.
# adjust paths as needed, and make a coffee b/c this'll take 30 minutes
texconv.exe -f R8G8B8A8_UNORM_SRGB -r:keep -ft png -srgbi -o D:\Output\Art D:\Bundles\Art\*.dds
texconv.exe -f R8G8B8A8_UNORM_SRGB -r:keep -ft png -srgbi -o D:\Output\minimap D:\Bundles\minimap\*.dds