I’m creating a map editor and I need to display a cube map texture from DDS in the app’s UI. Everything is fine as long as I’m using uncompressed DDS (screen), but when I try to use compressed DDS (DXT5), i’m receiving an exception… java.lang.UnsupportedOperationException
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
… 9 more
I debugged the code and found that format of the image is “DXT5” instead of “RGB8”, “BGR8”, or similar supported by jME’s ImageToAwt. So my question is: is there any way to convert a compressed DDS cubemap to AWT image? Or maybe convert compressed DDS to uncompressed DDS and then convert that thing to AWT?
There is a patent on DXT codec algorithms, and we cannot have those algorithm in JME.
What we do in the SDK is to render the texture on a quad (with JME in a FrameBuffer) then transform this texture (that is no more compressed) to AWT
In September 2011, Intel employee Ian Romanick mentioned that the S3TC patent had been marked as invalid in patent litigation between Apple and HTC, the latter of which acquired S3 and all of their patents. If the patent does prove to be invalid, it would be a simple matter of enabling support for it in Mesa 3D, a popular open source OpenGL-compatible computer graphics library.[original research?] Currently, there is a work around for Mesa 3D to handle S3TC formats.