Jump to content

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


alt3rn1ty

Recommended Posts

SPREAD THE WORD PEOPLE

 

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

https://forums.getpaint.net/topic/115144-paintnet-422-is-now-available/

 

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

https://forums.getpaint.net/topic/115242-paintnet-425-is-now-available/?_fromLogin=1

 

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

https://github.com/0xC0000054/pdn-ddsfiletype-plus

 

Paint.NET forum topic for the plugin

https://forums.getpaint.net/topic/111731-dds-filetype-plus-2019-09-20/

 

 

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

 

EtD0DZE.png

 

Then click Save

 

You will then be presented with the Save Configuration

Use the drop down menu to select the DDS format 

 

CWM3pSi.png

 

 

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)

 

zPEbEht.png

 

 

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

https://www.afkmods.com/index.php?/topic/4283-all-about-textures/

 

  • Like 1
  • Thanks 1
Link to comment
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.

  • Like 1
  • Thanks 1
Link to comment
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

Link to comment
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 :)

 

Up2D1O8.png

 

 

--------------------

 

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.

Link to comment
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.

Link to comment
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 :)

Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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:

Link to comment
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!)

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
On 10/21/2019 at 6:22 PM, alt3rn1ty said:

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.

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.

 

RenderDoc is now at version 1.6 :)

Issues mentioned in the quote are now fixed in this public release.

Link to comment
Share on other sites

null54 has updated the dds filetype plugin https://forums.getpaint.net/topic/111731-dds-filetype-plus-01-24-2020/?do=findComment&comment=567501

"Added support for saving the uncompressed X8B8G8R8 and R8G8B8 formats.
Fixed a visual glitch when previewing cube maps in some formats."

No doubt the next version of Paint.NET will include this update, until then you can update the plugin manually as mentioned previously in this post

 

Edit : Can someone please pop into Nexus forums and reply to ZAZAZ000000000000000000000 post, I think this update to the plugin will solve his / her problems (unless its a simple case of PEBCAK not using "Save as" and saving the resulting files in the correct dds format <shrugs>) ..

https://forums.nexusmods.com/index.php?/topic/8057638-paintnet-now-supports-all-dds-formats-including-bc7-linear-etc/

I no longer have an account on Nexus.

Link to comment
Share on other sites

1 hour ago, Malonn said:

Why'd you close your account, I ask out of pure curiosity?

Could it be he ran afoul of an assembly of rambunctious multiloquent minions of the Dark One?

Alt, done

 

Link to comment
Share on other sites

19 hours ago, Malonn said:

Why'd you close your account, I ask out of pure curiosity?

No need of it anymore, my only interest there was helping the community mod bethesda games, I no longer participate in that (well apart from popping in here to post anything of interest to AFK Mods members). Plus life has thrown a lot more responsibility on me recently, a close elderly relative needs a lot more support in addition to me looking after my immediate family / house and career. So I needed to prune some time absorbing activities which distract me from more important things.

18 hours ago, lmstearn said:

Alt, done.

Thank you :)

Link to comment
Share on other sites

That's cool, alt3rn1ty.  You've given many informative years to the Bethesda community, I just didn't think you'd close accounts.  I guess because you still turn up in here regularly.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Paint.Net 4.2.10 released a while ago with a few nice fixes ..

And, null54 has since released an update to the dds plugin which fixed an issue saving the A1R5G5B5, A4R4G4B4 and R5G6B5 formats.

https://github.com/0xC0000054/pdn-ddsfiletype-plus/releases

So until the next version of Paint.NET, just download the ddsfiletype zip from github, extract the three .dlls, and replace the older ones in the Paint.net \ Bundled \ DDSFileTypePlus \ *.*

7t9gveb.png

 

Link to comment
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
×
×
  • Create New...