DDS Support For Paint.NET
Now, I don’t know about the rest of you, but I think that even though Photoshop is a pretty nice piece of software, there’s no way on earth that I’m going to get stiffed for the big bucks just so I’m able to use NVIDIA’s DXT texture plugin at home. I’m not into having hokey software installed at home, and my PC at SCEE Cambridge doesn’t have Photoshop installed either. Probably because of that cost thing..
Enter Paint.NET. It’s a neat paint package written in C#, has all the source code available, and allows for file format & filter extensions to be written by anyone with a taste for a bit of C# suffering. And it’s free.
Well a while ago a friend and colleague of mine, Simon Brown did some work on an open source DXT compression library called ‘Squish’. So, in my spare time I hacked together a plugin for Paint.NET that allows it to load and save DXT1, DXT3, DXT5 and a bunch of non-compressed texture formats.
It was received well enough that Rick Brewster, the guy behind Paint.NET, took the code, made the compression multithreaded, and incorporated it into Paint.NET 3.10 - all of which was absolutely brilliant.
You can, of course, get the full Paint.NET source code, which includes the latest version of the DDS plugin, from the Paint.NET website. I don’t really like old code kicking around, so from now the binaries are no longer available from this site. I can, however, appreciate that some visitors are just after the source code so they can integrate DDS support into their own applications. As such I’m continuing to keep the source to the last standalone version of the plugin here for the time being. I would strongly recommend that those interested in the source get the latest Paint.NET source distribution and use that as a reference instead though.
Note that the source archive does *not* include the source code for ‘Squish’, or SquishInterface. You should download that from Simon’s site.
Download the source by clicking here.