(07-19-2017, 01:52 AM)jvook Wrote: No chance you're from OH right? I knew a booger (named because apparently looked like a booger when born -- terrible nickname to choose for your own kid!) and a bighead (with an actual big head) 20 years ago.
Nope but not too far away, Ohio is only a few hours drive. I'm further east by one state (PA).
Further chronicling my adventures into DDS valley, I came up with my own method for creating BC7 textures with custom mipmaps since no program in existence offers this capability that I'm aware of. I'm not sure why, I guess it's just not a very sought for feature. So far I've only ever found DDS Utilities that can create custom mipmaps, but it's ancient at this point and only works with up to BC3 textures. Understanding the headers was crucial, and its the key to having lower mipmaps. After all the values in the header are correct, it seems pixel data can just be copied from multiple images if each one is half the resolution of the previous one (or as close as it can be, for example, the next step down from 11 would be 5 as its not expecting a rounded up value?). And again before going too deep, I want to mention Dolphin does not support BC7. I'm hoping that changes in the future, so at the moment this has no use for Dolphin textures. Everything here was more of a fun exercise of "can it be done?", and to me it was equivalent to solving a puzzle game.
So I came up with an experiment. Create a generic header for a "base" texture with the appropriate flags for mipmaps, and use a hex editor to copy all the pixel data from all mipmaps into the base. To my surprise this worked, and Compressonator was able to see the image with custom mipmaps. The actual separate images are generated with TexConv, because Compressonator fails at creating small images for some odd reason. TexConv is by far the most powerful program I've come across, but like all programs, it can not create custom mipmaps.
Spoiler:
Spoiler: