nvidia-texture-tools icon indicating copy to clipboard operation
nvidia-texture-tools copied to clipboard

Export squish library (advanced CMake option)

Open Sukender opened this issue 8 years ago • 6 comments

I have the need for both NVTT and squish for my project. This sounds particularly weird, as NVTT contains a (modified) copy of squish.

I thus made changes to directly use this squish copy. As this is not really the normal dev path, I added this as "advanced options" in CMake. Changes are:

  • Adding the squish source files that were left over
  • Fixed compilation in them
  • Added installation stuff

This is quite straightforward. I hope this would help.

Sukender avatar Sep 16 '16 08:09 Sukender

Additional notes:

  • Header files (squish.h, and stuff for BC6/BC7H) are not installed. This may be included in INSTALL_* options. Thoughts, anyone?
  • OpenSceneGraph also uses squish / BC6H / BC7 libraries directly, hence the installation stuff (Yes, I also use OSG in my project!).

Sukender avatar Sep 16 '16 08:09 Sukender

Hi, I was in the process of entirely removing squish from NVTT. NVTT now has its own clusterfit implementation that has slightly higher quality, and I think squish is not really needed anymore. Wouldn't this be a better solution for the conflicts?

castano avatar Sep 19 '16 18:09 castano

Well, as long as I can decode/encode "good old" DXT1-3-5 images, and read/write them to disk, I'm in!

Sukender avatar Sep 20 '16 16:09 Sukender

Hmm, will you include these tiny changes in order to wait for the squish replacement? When will this replacement be available? Thanks.

Sukender avatar Sep 23 '16 09:09 Sukender

I'd be happy to include the changes. I need to do a bit more testing before I can drop squish completely, but I just wanted to let you know that was the plan, and that some of these changes would be removed at that point.

What's not clear to me is why do you want to install the internal copy of squish. If you need to use squish directly, why don't you the original squish instead of nvtt's?

castano avatar Sep 23 '16 17:09 castano

Oh well, nothing really vital... I just wanted to avoid one more library with its own build system (I have many). It was easier for me to install the internal NVTT's squish than having to configure, build, install and integrate the external one. FYI, this is exactly what I did before. When upgrading to GCC 5 / MSVC 2015, I found this really convenient :-)

Sukender avatar Sep 24 '16 06:09 Sukender