External Publication
Visit Post

jME 3.10.0-beta1

jMonkeyEngine Hub June 11, 2026
Source

It depends.

IIRC (list for OpenGL3.2 and GLES3.0 backends):

  • All int formats (ie. R8I,…) are not filterable
  • All compressed formats (ie. DXT, ETC,..) are not renderable,
  • sRGB8 is not renderable in GLES (but sRGBA8 is) (this is likely the only one you’ll encounter in the wild unless you load models with HDR or KTX textures)
  • all floating point textures are renderable only if their relative color_buffer_float ext is available
  • all floating point textures are filterable only if their relative texture_float ext is available
  • RGB111110F is renderable only if the packed color buffer ext is available

Sure we can add a warning, I’ll open an issue for that.

My current long-term plan to fix textures compatibility madness in jme is to implement basis universal, sometimes for 3.11, so that we can preprocess textures with a gradle task at build time to .basis or ktx2 with mipmaps and everything, and then let the engine transcode them to the best format for the platform.

For procedurally generated texture, the best crossplatform option is to always target either (s)RGBA8 or RGBA16F, or use the new getBestColorTargetFormat api of renderer.

Discussion in the ATmosphere

Loading comments...