Missing BC7 support

I discovered that jMonkeyEngine 3.4 does not support the BC7 compression of DDS textures. This compression, introduced with DirectX11, provides the best quality.

If anybody is willing to take the (summer?) challenge, I’ll beta test it.
Here is the error that you get when you try to load a BC7 texture:

com.jme3.asset.AssetLoadException: An exception has occurred while loading asset: ...
Caused by: java.io.IOException: Unsupported DX10 format: 98

	at com.jme3.texture.plugins.DDSLoader.loadDX10Header(DDSLoader.java:149)
	at com.jme3.texture.plugins.DDSLoader.loadHeader(DDSLoader.java:231)
	at com.jme3.texture.plugins.DDSLoader.load(DDSLoader.java:121)
	at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:272)
	... 18 more

This is the reference C code from Microsoft, not sure if useful:

1 Like

Can you provide any file samples? Maybe it’ll ease up this task a bit…

Created an issue and added a zip file with a PNG and its BC7 equivalent:

3 Likes