Feature Request | Native DDS File Support

I sent this idea to support and they suggested I post here. I apologize if it has been covered elsewhere. I saw a similar suggestion for Photo AI but I find that program of minimal use for dds upscaling or general AI aided enhancement compared to Gigapixel. I have been using Topaz Gigapixel casually since the early days to upscale old computer games. I suspect I am not alone. A large impediment to workflow is that dds files must be converted to png before processing, then back to dds afterwards. If I had only one wish for an upgrade to Gigapixels capabilities it would be for native dds import and export capability.

Thanks for the suggestion!

We’d have to investigate more deeply into how this might be implemented practically. Great insight into a specific use case :folded_hands:

To clarify, I see two possibilities. The best from my point of view would be for Gigapixel to be able directly process dds files. However, I can understand how this might present issues with the files being made up of multiple layers/channels. The alternative would be for the program to be able to import a dds file and convert it to png for upscaling, then have a dds export option. Currently I convert to png outside of Gigapixel, process, then convert back to dds externally.

FWIW I still use my legacy copy of Gigapixel more often than not, as the old Recovery V1 may be slower, but often produces higher fidelity upscales than V2 and V3. It’s hit and miss depending on the texture, but very often when I upscale with all the versions, the old original wins. Be nice to have it as an option in Gigapixel AI but as long as I have my legacy copy I guess I’ll survive. :slight_smile:

Steve H

I asked for this years ago when I was upscaling thousands of game textures, and was forced to convert everyone of them to tif and back to dds again in photoshop. You have my vote!

This is currently how processing with various other formats works using Preserve input format enabled on export (HEIC, WEBP).

I created a feature request for the team to consider.

Also, Recover 1 is still available in the latest releases, but has to be toggled on in Preferences under Settings > AI model > Show legacy models.

:raising_hands:

1 Like

That tidbit alone made posting here well worth it for me. Guess I should read the docs more!

A person messaged me asking for specifics on how I was doing my DDS conversions. I must note I am no expert at this, this is just what I have been doing, but somebody may suggest better alternatives. Anyway, here was my reply:

For bulk files I normally use DDS Texture Converter, available for free download at https://www.nexusmods.com/skyrimspecialedition/mods/111378?

I usually convert the desired DDS to PNG, drag the resulting PNG into Gigapixel, and bulk upscale with whatever process works best. In general I have found the old Recover V1 to have the best fidelity to the originals on upscale but for some low quality textures Redefine or some other process may get a better result depending on what you are looking for. Sometimes what works good on one texture does not work as well on others, so it bears watching and maybe doing single file where needed, but in general bulk processing works well. Once upscaled I just reprocess with DDS converter, but you have to be careful to separate output types if they are different. I’m usually dealing with BC1 (DXT1) and BC3 (DXT5) conversions.

For single file work I usually just use Paint.NET to open the file, export as PNG, upscale, open again and tweak manually if needed, then export again as DDS.

Hope this helps.

Steve H

DXT1 is pretty simple to convert back and forth between types. DXT5 is a different story because of the Alpha Layer.

What I’ve had to do is save both the Texture and the Alpha Layer as their own flat tif files (no alpha), enlarge each of them, and then combine then back as the Texture and Alpha Layer again before resaving as DXT5.

You have to take a look at the enlarged Alpha Layer to make sure the original intent is still being met. Aliasing a diagonal boundary might be appropriate to avoid blockiness, or it might need to stay a sharp transition to avoid giving the texture partially transparent edges.