jMonkeyEngine / jmonkeyengine

A complete 3-D game development suite written in Java.
http://jmonkeyengine.org
BSD 3-Clause "New" or "Revised" License
3.84k stars 1.13k forks source link

Examples: DXT Textures failing on Android #60

Open ghost opened 10 years ago

ghost commented 10 years ago

Reference on googlecode: https://code.google.com/p/jmonkeyengine/issues/detail?id=472

Reported by @shadowislord Feb 23, 2012

What steps will reproduce the problem?

  1. Run some example on Linux or Android

What is the expected output? What do you see instead? I receive an error "DXT is not supported by the hardware". jME3 should convert its DXT textures to use either JPEG or PNG format as many of its target platforms do not support the DXT format.


paul.amstetten

I had the same Problem: "compressed textures are not supported by the video hardware". I am using ubuntu and solved the issue with mesa. So I installed the "texture compression library for mesa" and now it works. The installed package names are: libgl1-mesa-dri libgl-mesa-glx libgxc-dxtn-s2tc0 Hope that can help.

shadowislord commented 9 years ago

The following textures in jME3 use DXT compression: Textures/Sky/Bright/FullskiesBlueClear03.dds Textures/Sky/Bright/BrightSky.dds Textures/3D/flame.dds Scenes/Beach/FullskiesSunset0068.dds

MeFisto94 commented 4 years ago

We need to revisit this, maybe DXT works on more recent android device and/or we need to support it in code. Linux which doesn't have DXT Support or needs a package is the problem of the user and distributor (this game requires -s2tc0 to be installed)

MeFisto94 commented 4 years ago

I'm going to repurpose this issue. I don't think we should avoid DXT nowadays as it's the format being capable of storing LODs and being compressed in GPU Memory.

On Android this looks bad: https://developer.android.com/guide/app-bundle/asset-delivery/texture-compression, DXT1 is already almost unsupported, ETC1/ETC2 are supported.

This means this is a common pitfall when developing an application for both desktop and android, you may have to use different compressing tools, or straight go with ETC which also seems to be supported on Desktop (OpenGL 4.3) It also means that some tests don't work on Android. We could now worry and convert those to ETC or maybe add documentary hints.

Unfortunately most of those files are not just DXT Tests but widely used whenever a skybox is required, I guess.