Jump to content
Sign in to follow this  

Paint.NET now supports all DDS formats (including BC7 Linear etc)

Recommended Posts



If you know a Mod Author working on textures, who needs a solution to load and save in the newer Intel Texture Works dds formats like BC7, but they dont / cant afford to own Photoshop ..


.. Tell them to grab the latest Paint.NET


Even if they prefer working in something else like Affinity Photo or GIMP, but lack the ability to easily save out a dds file with mipmaps in the newer dds formats (GIMP has started supporting dds natively, but does not currently have all the newer formats) - Just save resulting work from your preferred graphics software to a lossless format like PNG. Load it up in Paint.NET, and then save it out in the desired dds format.



PDN now bundles a plugin made by null54, it used to be necessary to rename any dds file to work with to have a .dds2 extension name which was a bit of chore if you had many files to work with - Now it is officially bundled with PDN, .dds files are loaded and saved without any renaming of extensions



See the release notes here for PDN 4.2.2



PDN is now at version 4.2.5 and includes the latest dds plugin (further updated work since 4.2.2)



Source for the plugin (where any issues found need to be reported) on Github



Paint.NET forum topic for the plugin




Edit : Please feel free to copy this post on the various official CK forums (I am no longer a member)



Paint.NET also now supports WebP https://developers.google.com/speed/webp/


(Another plugin bundled which was also programmed by null54)


Lossless and lossy, I havent used it yet but it sounds like its better than PNG and JPG for website performance.




To save a file in DDS formats :

Choose File / Save As

And use the drop down menu to select the DDS filetype




Then click Save


You will then be presented with the Save Configuration

Use the drop down menu to select the DDS format 





And dont forget to tick the box for Generate MipMaps

PS - When choosing the compression mode in PDN, Slow = Fine (More accurate) (Fine as in Intel Texture Works definition of the compression mode)





And have a read of this topic - Its a bit old now, but still relevant I think.



Share this post

Link to post
Share on other sites

Yep, word has been spreading through several servers already, but it's still good to let more people know since this is a big boon to folks modding SSE and FO4. Probably plenty of other games too.

Share this post

Link to post
Share on other sites

From a tip on Nexus thanks to N7R

Compressonator also supports all newer DDS formats, a Graphical User Interface (GUI), has batch processing for multiple files, and Analysis tools.


Also want to mention GIMP at this time has initial support for dds, but does not yet have all the newer formats, so things are coming along. GIMP is now at 2.10.12 :


GIMP 2.10.10 had the initial DDS support


"DDS support

The third-party DDS plug-in, originally developed by Shawn Kirst and Arne Reuter, is now part of the GIMP core plug-ins, allowing GIMP to load or export DDS files out of the box.

It is to be noted though that we are still looking for an active maintainer for this plug-in if you want to see it improved since we only fixed the minimum to get it up-to-date. If you want to step up, we welcome patches!"


And if you want to follow development here's the link https://gitlab.gnome...ug-ins/file-dds


Features so far :


* Load/Save DDS files using DXT texture compression

* Automatic mipmap generation on save

* Load mipmaps into separate layers

* Load cube map faces and volume map slices into separate layers

* Cube and volume map saving

* Pixel conversion selection for custom formats (RGBA4, R5G6B5, RGB10A2, etc.)

* Load/save DDS files, optionally using DirectX texture compression (DXT)

* Optional automatic mipmap generation when saving

* Load mipmaps into separate layers

* Load cube map faces and volume map slices into separate layers

* Save cube maps and volume maps with automatic mipmap generation support

* Save image with a custom pixel format

* Non-power-of-two image loading and saving support with automatic mipmap generation support

* Compliant with DirectX 10 compressed formats

Share this post

Link to post
Share on other sites

Small bit of info' ..


Watch out for updates to IrfanView in the future and the History of Changes


I have been in email conversation with Irfan, who has said "No promise"


But he may be tentatively looking into supporting all the newer DirectXTex DDS formats. At his request I made a load of different texture types (with / without alphas / normal / diffuse / specular etc), and then saved out duplicates of each in all the different formats with MipMaps. I also gave a run down of each of those with errors generated by the current IrfanView, whether they load / partial load / load elongated / do not load / correct Compression information given or not blah blah ..


Hopefully it will all be enough to help Irfan get the viewer up to date in viewing every dds format and the "Information" to help us find the original texture format, before working on it and saving it out in the correct format for its use case by the games concerned .. Fingers crossed :)







Also the Paint.NET DDS FileType Plus plugin has been updated, you can still install this in FileTypes\ as Paint.NET will use either the Bundled version, or a manually installed version of the same plugin, and it will use the most recent whichever is newer of the two. So future updates to Paint.NET will use its own Bundled version if that then becomes newer than the one you manually installed.

Share this post

Link to post
Share on other sites

Someone on Nexus gave me a good tip :

RenderDoc designed to handle GPU formats, can be used as a Texture Viewer for dds

It gives the necessary info we need about what format a texture is

From the documentation https://renderdoc.org/docs/getting_started/tips_tricks.html

  1. RenderDoc can be used as an image viewer! If you drag in or use file → open, you can open images in a variety of formats - .dds, .hdr, .exr, .bmp, .jpg, .png, .tga, .gif, .psd. The image will load up in RenderDoc’s texture viewer and you can use the normal controls to view it as if it were the only texture in a capture. Note that .dds files support all DXGI formats, compressed formats, arrays and mips - all of which will display as expected. If the file is modified, RenderDoc will reload it and display it. Note that changing the image’s dimensions or format will likely cause problems.

  2. ~snip~

  3. ~snip~

  4. Right clicking on one of the channel buttons in the texture viewer (R, G, B, A) will either select only that channel, or if it’s already the only one selected it will select all of the others. This is useful e.g. to toggle between viewing RGB and alpha, or for looking at individual channels in a packed texture or render target.

Share this post

Link to post
Share on other sites

I noticed a couple of issues with RenderDoc, though its something that can be worked around.


Issue 1. If you dont have enough horizontal Screen space, and the file path for the loaded texture is long, the Format of the texture goes off the end of the available space to show it.


To solve issue 1, I decided I did not need the "Event Browser" box open all the time, so closed it.


Issue 2. Currently in RenderDoc v1.5, if you have closed the Event Browser, and try to load a texture into RenderDoc (by whichever method), RenderDoc crashes.


Issue 1 is going to be addressed in a future version, I contacted Baldur

Issue 2 is fixed in a private build last night, so will be in the next version whenever that occurs.


Meanwhile, Baldur gave me a tip - You can get around Issue 2 by dragging and docking the "Event Browser" as another tab alongside the Texture Viewer Tab etc. Which free's up more horizontal space to show the full path and Format at the bottom of the interface (well that is so long as the file path is not so long as to hide the format again).


Anyway, those minor issues aside ..


I very much like RenderDoc (even if I dont have much if any use for its full potential), aswell as being able to select all Channels including the Alpha individually for viewing, I like also that you can use a drop down menu to see how many MipMaps the texture has, and I also like that among the Formats displayed RenderDoc also includes un-compressed Formats like A8R8G8B8 .. Whereas IrfanView would just not show any format info for such a texture because it is not compressed, so distinguishing un-compressed formats is a breeze with RenderDoc.


Its a bit slower to load than Irfanview, but its a lot more comprehensive for dds support than IrfanView.


I think RenderDoc has just become my favourite viewer for investigating dds files :)

Share this post

Link to post
Share on other sites

Had a message from IrfanView programmer, and I dont think it will be supporting DirectXTex new formats any time soon.

Its a bit of a tall order for Irfan to overcome (he would need the code for plugins to be in C or C++, whereas C# has been used and conversion from one to the other is too complicated to attempt .. In other words its too big a job just to support a couple of new dds format texture types in a Viewer which is not really focussed on just that job)

Its still very useful for older games, but going forward RenderDoc mentioned above I think is going to be the main man for finding out original textures formats.

Share this post

Link to post
Share on other sites
5 hours ago, Arthmoor said:

Isn't C# more or less so close to C++ that one ought to be able to write both?

I think C# has C++ as a base, but I am not entirely sure about that so take it with a grain of salt.

I know Notepad++ supports both programming languages.

Share this post

Link to post
Share on other sites

I think its just a case of time, but I have read on stackexchange there can be some complicated problems converting from one to the other, and for Irfan to convert a lot of work from one plugin (say the paint.net dds plugin or DirectXTex) may be not so easy depending upon his capabilities / time.


Meanwhile I have been using RenderDoc Nightly build and all issues I mentioned earlier are solved plus a few more nobody had previously tested for, no idea when v1.6 will be released, but BaldurK has been very swift responding to and fixing the issues I emailed him.

Share this post

Link to post
Share on other sites
On 10/28/2019 at 11:26 AM, Arthmoor said:

Isn't C# more or less so close to C++ that one ought to be able to write both?


On 10/28/2019 at 4:54 PM, Leonardo said:

I think C# has C++ as a base, but I am not entirely sure about that so take it with a grain of salt.

I know Notepad++ supports both programming languages.

C# does not include the C++ language, like C++ does with C. Even though it shares syntax similarities to C++, it is very different, and is more similar to Java. For insance, one big difference from C and C++, both C# and Java have a runtime environment (.NET Framework is the C# analogue to Java's VM), as opposed to C and C++ which don't have one.

Share this post

Link to post
Share on other sites

Dug deep for the $10 purchase of Paint.Net. Word to the wise- the Windows and Free versions go in separate locations, as I had learned by not reading the docs.

Signing up to their forums is something else- although once the visual captcha solvers popped up on the page it was better.

Then, again without reading the docs, the wrong folder for plugins was cleverly located. :facepalm:

Share this post

Link to post
Share on other sites

Well, glad you got it sorted, I just usually grab the free version from here https://www.getpaint.net/index.html

I have donated before, but never bought it from the MS Store so was not aware of any possible different installation locations.

I do know that if you want to try out a newer version of any Bundled plugins, you should not install them in the Bundled folder but in the usual Filetypes folder.

If there is a newer version of the DDS plugins in filetypes\, then Paint.NET ignores its own Bundled variety and loads up the newest plugin in Filetypes.

Similarly, if you update Paint.NET and it comes with a newer version of the DDS plugin than the one you last manually installed .. It will load the Bundled one instead = Whichever is newest in either Bundled or Filetypes gets loaded.

See also the release notes where the DDS plugin was initially bundled here https://forums.getpaint.net/topic/115144-paintnet-422-is-now-available/

Regarding the bundling of DDSFileTypePlus, which replaces the old built-in DDS support: The key word here is bundling. The plugin is now installed into a separate directory called Bundled (a technical detail that you shouldn't have to worry about). If you already have DDSFileTypePlus installed into the FileTypes directory then it will not be loaded; instead, the bundled version will be used (usually ... keep reading).


However, the bundled plugin is only updated when Paint.NET itself is updated, and @null54 will still be releasing DDSFileTypePlus updates independently of Paint.NET's updates. If you want to, you can still install the DDSFileTypePlus plugin into the FileTypes directory. If the "user-installed" version (in the FileTypes directory) is newer than the "bundled" version, then the user-installed version will be used instead of the bundled version.


tl;dr -- The DDSFileTypePlus plugin can exist in two locations: "Bundled" (which comes with Paint.NET) and "FileTypes" (where you normally install plugins). Whichever one is newer will be loaded, and the other one is ignored.


So, for many folks, you can just leave DDSFileTypePlus alone and it will automatically be updated to its latest version whenever a Paint.NET update is installed. But if a new version of DDSFileTypePlus is released and it contains a feature or a fix that you need, and you can't wait, you can just install it like usual and it will be used instead of the (older) bundled version.


(Also, note that the .dds2 file extension is no longer necessary when using DDSFileTypePlus -- whether it's bundled or user-installed!)

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

Support us on Patreon!

  • Create New...