null54

DDS FileType Plus (2018-11-2)

Recommended Posts

A DDS FileType plugin that allows Paint.NET to open and save the the some of formats introduced in DirectX 10 and later.

 

Note that a DDS file must be renamed to use the dds2 file extension before the plugin will load it.

 

The supported formats include the BC1, BC2, BC3, BC4, BC5, BC6H and BC7 compressed formats and the A8R8G8B8, X8R8G8B8, A8B8G8R8, A1R5G5B5, A4R4G4B4 and R5G6B5 uncompressed formats.

 

The X8B8G8R8 and R8G8B8 uncompressed formats from the original plugin are not supported.

 

Note that the BC6H and BC7 compression may be slow on large images.

 

btn_donate_SM.gif

 

Download:

DDSFileTypePlus.zip

 

Source Code:

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

  • Like 5
  • Upvote 3

Share this post


Link to post
Share on other sites
9 minutes ago, AndrewDavid said:

Found over 478 DDS files on my computer. I was using Visual Studio to convert them to png. This sure saves a lot of time.

 

Paint.NET has had built-in support for DDS since the 3.10 release in 2007 (based on a plugin written by @Dean Ashton).

This plugin only adds support for the new formats introduced with DirectX 10.

Share this post


Link to post
Share on other sites

It was this post that got me started on the DDS file types.  Before that I had no use for DDS file types. Once I did a search and found they existed on my hard drive I explored ways of looking at them without installing the DDS file type that existed before yours. Never tried to open them directly with Paint.

 

Share this post


Link to post
Share on other sites

Corrected the name of the 32-bit DLL in the P/Invoke signatures.
Changed the 32-bit DLL to use SSE instead of of SSE2.

 

File version updated to 1.2.1.0.

Share this post


Link to post
Share on other sites
2 hours ago, toe_head2001 said:

Oh, BC7 support! I was just reading the other day about how much better it is. Thanks.

 

Interesting link.

I did not notice any quality difference during my testing, but I was using photographs instead of game textures.

 

One thing I did notice is that the DirectCompute based BC7/BC6H encoder is significantly faster than the software encoder.

The software encoder processes a 1024x768 image in around 25 seconds, the DirectCompute encoder processes the same image in around 5 seconds.

Share this post


Link to post
Share on other sites

Improved error handling when loading DDS files.
Added support for planar and typeless DDS formats.
Fixed a conversion bug when saving the X8R8G8B8, A1R5G5B5 and R5G6B5 formats.

 

File version updated to 1.3.0.0.

Share this post


Link to post
Share on other sites

Added support for loading Unreal Engine 2.5 DDS files that only set the dwFourCC field in the DDS_PIXELFORMAT structure, see the following thread for details.

 

Convert the sRGB formats to linear RGB when loading.
Reduced memory usage when saving.

 

File version updated to 1.4.0.0.

  • Upvote 1

Share this post


Link to post
Share on other sites

Also, please note that I am planning to integrate this in to Paint.NET soon (null54 gave me permission to do this). Hopefully within the next few months, depending on how the update scheduling goes. So if you install an update and your ".dds2" files suddenly won't open in Paint.NET, then that's why. Rename them back to ".dds" and you'll be good.

Share this post


Link to post
Share on other sites

Allow creating mipmaps for image sizes that are not a power of 2.

The mipmap generation had been silently ignoring images that are not a power of 2 until I came across the following post (strangely the DDS reference on MSDN makes no mention that non power of 2 mipmaps are supported).

 

Report progress when saving the uncompressed formats.

 

File version updated to 1.6.0.0.

Share this post


Link to post
Share on other sites

Added error checking to the typeless format conversion.
Upgraded to the February 9 2018 release of DirectXTex.

 

File version updated to 1.6.1.0.

Share this post


Link to post
Share on other sites

I have a problem, not sure why but people have said they could open dds files for this game, however, I am having problems it gives an error they are DirectX11 I think or something witch may be the problem however that still does not help me with my mod with the steam game, could you play around with the file type and see if you can get it to load with Paint.net or if not add support for the type of DDS it would mean a great deal to me and many other people that would be looking for a free program to use to edit the file types.

Space Engineers DDS File Type.zip

Share this post


Link to post
Share on other sites
1 hour ago, NorthWestTrees said:

I have a problem, not sure why but people have said they could open dds files for this game, however, I am having problems it gives an error they are DirectX11 I think or something witch may be the problem however that still does not help me with my mod with the steam game, could you play around with the file type and see if you can get it to load with Paint.net or if not add support for the type of DDS it would mean a great deal to me and many other people that would be looking for a free program to use to edit the file types.

 

The file has to be renamed to use the dds2 file extension in order for the plugin to load it.

Share this post


Link to post
Share on other sites

Added support for saving the sRGB variants of the BC1, BC2, BC3 and BC7 formats.

 

The Space Engineers file posted above uses the sRGB version of BC7, so it made sense to add support for the sRGB formats in case there are other games or applications that require images to be saved in those formats.

 

File version updated to 1.7.0.0

  • Upvote 1

Share this post


Link to post
Share on other sites

When saving one of the new format DDS .. Say BC7

The file is given a filename like name.dds2

 

Which is sort of ok, if you rename it to .dds then the target game will recognise it for the type of dds it is anyway - Would just be better if we did not have to rename it and it used the .dds extension as normal.

 

Note Intel Texture Works plugin for Adobe Photoshop does not have this problem, a BC7 dds file with the normal .dds file extension loads just fine into Adobe Photoshop, just like they do with a game engine that supports them (Skyrim Special Edition / Fallout 4).

 

Also, when loading the same texture back into Paint.Net, if the file is now named .dds, PDN will try to load it but fails to recognise the file, even though it was made with PDN - Solution = rename it name.dds2

 

Then PDN will recognise and load it correctly O_o, bizarre state of affairs.

 

Can you fix this behaviour please.

 

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

 

Issue 2 = In accordance with Intel Texture Works plugin save dialogue we are supposed to be able to save a BC7 as Linear Fine (second BC7 option in the linked screenshot)

 

But in the save dialogue for dds2 implemented in PDN there is no such option that seems to stick to the same naming convention

Which of your options equates to ..

 

BC7 8bpp Fine (Linear, DX11+)

 

And if you do actually support the same option, could it be made to read as BC7 Fine Linear in accordance with the Intel Texture Works dialogue screenshot, so that we are all singing off the same hymn sheet and know for certain the format saved is the format desired.

 

 

Note : I have also added an issue to the plugin GitHub Issues page https://github.com/0xC0000054/pdn-ddsfiletype-plus/issues/2

Edited by M0lz

Share this post


Link to post
Share on other sites
42 minutes ago, M0lz said:

Which is sort of ok, if you rename it to .dds then the target game will recognise it for the type of dds it is anyway - Would just be better if we did not have to rename it and it used the .dds extension as normal.

 

This is a work-around to provide separation between the built-in DDS file handler and this plugin. Note that Rick is working towards integrating this plugin into paint.net, which will remove the renaming issue.

Share this post


Link to post
Share on other sites
41 minutes ago, Ego Eram Reputo said:

 

This is a work-around to provide separation between the built-in DDS file handler and this plugin. Note that Rick is working towards integrating this plugin into paint.net, which will remove the renaming issue.

 

Superb, so the first issue will be dealt with in due course.

 

I hope then that the second issue of conforming to the same naming conventions as per the Intel Texture Works plugin for Adobe Photoshop can be adhered to so that when we select a format it is the same name. Choosing from your options in the PDN plugin at the moment does not fill me with confidence that I am saving in BC7 8bpp Fine (Linear, DX11+) and will end up with a normal map that has barely detectable compression artifacts (which is desired, and would not be true if I get the option chosen wrong due to different naming conventions)

 

Compare this

 

sprint3previewBC7Fast.png

 

With this

 

sprint3previewBC7Fine.png

 

BC7 Linear Fine the latter screenshot has very little compression artifacting which shows up very much on an in game model where the artifacting is translated into bump mapping on the surface of a model, depending upon your 3D point of view on the object, such compression artifacting can look awful in game .. So getting the right format to save and sticking to the naming conventions is quite important here.

Edited by M0lz

Share this post


Link to post
Share on other sites
3 hours ago, M0lz said:

I hope then that the second issue of conforming to the same naming conventions as per the Intel Texture Works plugin for Adobe Photoshop can be adhered to so that when we select a format it is the same name. Choosing from your options in the PDN plugin at the moment does not fill me with confidence that I am saving in BC7 8bpp Fine (Linear, DX11+) and will end up with a normal map that has barely detectable compression artifacts (which is desired, and would not be true if I get the option chosen wrong due to different naming conventions)

 

I can add Linear to the description of the non-sRGB formats, but I will not be changing the rest of the description to match the Intel plug-in.

 

This plugin and the Intel plugin use different methods when compressing the BC1, BC3, BC5 and BC7 formats.

So it would not make sense to copy the 'Fast' and 'Fine' naming convention used by the Intel plug-in.

 

The Intel plug-in uses the ISPC Texture compressor  (it provides the 'Fast' and 'Fine' modes), and this plugin uses DirectXTex.

 

Does this plugin show any compression artifacts when saving as BC7 (DX11+)?

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