Emulator Issues #10409
closed[Feature Request] Loading DDS BC7 Custom Textures
0%
Description
Currently Dolphin does not support loading DDS custom textures compressed with BC7 block compression. BC7 is capable of arguably much higher quality than the currently supported BC1-BC3 formats (DXT1-5). Quality of this format is much closer to the quality of PNG while retaining the advantages of the DDS format. I added support for BC7 in my tool found on the forums so users could have an easy means to create and work with these textures, or convert their packs in the chance support is eventually added to Dolphin.
If support for this format was added, Dolphin should also support loading external mipmaps (Dolphin's mip1, mip2, mip3 naming scheme) for this format. I know Dolphin already supports both mipmap types for current formats, but I thought it would be worth mentioning specifically for BC7 since there doesn't seem to be a tool in existence that allows creation of custom internal mipmaps for BC7 textures. I am working on adding this feature to my script, and so far I have been moderately successful. But if my method fails, and without external mipmaps, we would not have a means to load different images on descending layers (example at the bottom).
This format was first brought to my attention here:
https://github.com/dolphin-emu/dolphin/pull/5279#issuecomment-296193111
A comparison of PNG/BC7/DXT5:
http://i.imgur.com/9KZNdpS.jpg
Dynamic mipmaps, BC7 may require external images:
http://i.imgur.com/SoR7jDB.jpg
Results of my work for custom BC7 mipmaps:
http://i.imgur.com/THXrxIo.jpg
Files