jME3 states caps missing, but have the caps

Hello,
I installed the Plattform SDK latest stable, Plattform SDK nightly, and SVN from sources in NetBeans.
I cannot start many of the tests for an unknown reason and I’m beginning to become desperate.
When I try to start some of the tests, like the TestHoverTank.java, I always get a strange error like this:
"
requires caps [GLSL100] which are not supported by the video renderer
"
But my graphics card does have this - the startup of the SDK states:
"
Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, TextureMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, OpenGL32, ARBprogram, GLSL100, GLSL110, GLSL120, GLSL130, GLSL140, GLSL150, VertexTextureFetch, TextureArray, TextureBuffer, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray, Multisample, PackedDepthStencilBuffer]
"
Here is the full output upon startup:
"
Running on jMonkeyEngine 3.0.0 Beta
Extraction Directory: C:\Dokumente und Einstellungen\Pilot\Anwendungsdaten.jmonkeyplatform\3.0RC2
Using LWJGL 2.8.4
Offscreen buffer created.
Adapter: ati2dvag
Driver Version: 6.14.10.7267
Vendor: ATI Technologies Inc.
OpenGL Version: 3.3.11672 Compatibility Profile Context
Renderer: ATI Radeon HD 4800 Series
GLSL Ver: 3.30
Timer resolution: 1.000 ticks per second
Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, TextureMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, OpenGL32, ARBprogram, GLSL100, GLSL110, GLSL120, GLSL130, GLSL140, GLSL150, VertexTextureFetch, TextureArray, TextureBuffer, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray, Multisample, PackedDepthStencilBuffer]
DesktopAssetManager created.
Camera created (W: 640, H: 480)
Camera created (W: 640, H: 480)
AudioRenderer supports 64 channels
Audio effect extension version: 1.0
Audio max auxilary sends: 4
"

The strange thing is: When I list all the Caps with
[java]Collection<Caps> caps = renderer.getCaps();[/java]
I get only this:
"
INFO: Caps: [NonPowerOfTwoTextures]
"

What might be the problem here?
What can I try?

Thanks for any advices,
Ogli
(still new to NetBeans, using Windows XP, latest AMD Drivers and Beta Drivers installed)

Hm, I’m still struggeling with this. Updated the drivers from ATI.
Is there anybody who has an idea what to try? Next I would debug step all the way through.
Here is what I get when starting TestChooser from an SDK test project:

[java]
ant -f “C:\Dokumente und Einstellungen\Pilot\Eigene Dateien\jME3_SDK_Stable_Projects\JmeTests” run
init:
Deleting: C:\Dokumente und Einstellungen\Pilot\Eigene Dateien\jME3_SDK_Stable_Projects\JmeTests\build\built-jar.properties
deps-jar:
Updating property file: C:\Dokumente und Einstellungen\Pilot\Eigene Dateien\jME3_SDK_Stable_Projects\JmeTests\build\built-jar.properties
compile:
run:
Jun 24, 2013 3:20:42 PM jme3test.TestChooser start
INFO: Composing Test list…
Jun 24, 2013 3:20:42 PM jme3test.TestChooser find
INFO: Searching for Demo classes in “jme3test”.
Jun 24, 2013 3:22:49 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.0.0 Beta
Jun 24, 2013 3:22:49 PM com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory: C:\Dokumente und Einstellungen\Pilot\Eigene Dateien\jME3_SDK_Stable_Projects\JmeTests
Jun 24, 2013 3:22:49 PM com.jme3.system.lwjgl.LwjglAbstractDisplay run
INFO: Using LWJGL 2.8.4
Jun 24, 2013 3:22:49 PM com.jme3.system.lwjgl.LwjglDisplay createContext
INFO: Selected display mode: 1920 x 1080 x 32 @60Hz
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Adapter: ati2dvag
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Driver Version: 6.14.10.7200
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Vendor: ATI Technologies Inc.
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: OpenGL Version: 3.3.10834 Compatibility Profile Context
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Renderer: ATI Radeon HD 4800 Series
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: GLSL Ver: 3.30
Jun 24, 2013 3:22:50 PM com.jme3.system.lwjgl.LwjglTimer <init>
INFO: Timer resolution: 1.000 ticks per second
Jun 24, 2013 3:22:50 PM com.jme3.asset.DesktopAssetManager <init>
INFO: DesktopAssetManager created.
Jun 24, 2013 3:22:50 PM com.jme3.renderer.Camera <init>
INFO: Camera created (W: 1.920, H: 1.080)
Jun 24, 2013 3:22:50 PM com.jme3.renderer.Camera <init>
INFO: Camera created (W: 1.920, H: 1.080)
Jun 24, 2013 3:22:50 PM com.jme3.input.lwjgl.LwjglMouseInput initialize
INFO: Mouse created.
Jun 24, 2013 3:22:50 PM com.jme3.input.lwjgl.LwjglKeyInput initialize
INFO: Keyboard created.
Jun 24, 2013 3:22:50 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: AudioRenderer supports 64 channels
Jun 24, 2013 3:22:50 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio effect extension version: 1.0
Jun 24, 2013 3:22:50 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio max auxilary sends: 4
Jun 24, 2013 3:22:50 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Unshaded
Jun 24, 2013 3:22:50 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:50 PM com.jme3.scene.plugins.ogre.MeshLoader load
WARNING: Cannot locate Models/HoverTank/Tank2.material for model Models/HoverTank/Tank2.mesh.xml
Jun 24, 2013 3:22:50 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Phong Lighting
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (Tank2-geom-1) attached to this node (Tank2-ogremesh)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (Tank2-ogremesh) attached to this node (Root Node)
Jun 24, 2013 3:22:52 PM com.jme3.renderer.Camera <init>
INFO: Camera created (W: 1, H: 1)
----------------- Bloom UI Debugger --------------------
– blur Scale : press Y to increase, H to decrease
– exposure Power : press U to increase, J to decrease
– exposure CutOff : press I to increase, K to decrease
– bloom Intensity : press O to increase, P to decrease

Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Gui Node)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node attachChild
INFO: Child (Statistics View) attached to this node (Gui Node)
Jun 24, 2013 3:22:52 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Bloom
Jun 24, 2013 3:22:52 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Bloom
Jun 24, 2013 3:22:52 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Bloom
Jun 24, 2013 3:22:52 PM com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Bloom Final
Jun 24, 2013 3:22:52 PM com.jme3.app.Application handleError
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,6,main]
java.lang.UnsupportedOperationException: The explicitly chosen technique ‘Glow’ on material ‘Phong Lighting’
requires caps [GLSL100] which are not supported by the video renderer
at com.jme3.material.Material.selectTechnique(Material.java:905)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:501)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:301)
at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:353)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:765)
at com.jme3.post.filters.BloomFilter.postQueue(BloomFilter.java:200)
at com.jme3.post.FilterPostProcessor.postQueue(FilterPostProcessor.java:214)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:981)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1031)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:251)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)
at java.lang.Thread.run(Thread.java:722)

Jun 24, 2013 3:22:52 PM com.jme3.renderer.lwjgl.LwjglGL1Renderer cleanup
INFO: Deleting objects and invalidating state
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node detachChildAt
INFO: Gui Node (Node): Child removed.
Jun 24, 2013 3:22:52 PM com.jme3.scene.Node detachChildAt
INFO: Gui Node (Node): Child removed.
Jun 24, 2013 3:22:52 PM com.jme3.input.lwjgl.LwjglMouseInput destroy
INFO: Mouse destroyed.
Jun 24, 2013 3:22:52 PM com.jme3.input.lwjgl.LwjglKeyInput destroy
INFO: Keyboard destroyed.
Jun 24, 2013 3:22:52 PM com.jme3.system.lwjgl.LwjglAbstractDisplay deinitInThread
INFO: Display destroyed.
BUILD SUCCESSFUL (total time: 2 minutes 17 seconds)
[/java]

If you find you want to debug the thing, it’s probably best if you start single-stepping in Material.selectTechnique.
selectTechnique is the first frame in that stack trace that actually calls OpenGL, the others are just strategy that decide what to do.

You’re running in OpenGL1 mode, which doesn’t support bloom. You should switch to OpenGL2 mode.

1 Like

Well, I finally got something running - these are the modifications that were necessary in TestHoveringTank.java

In code from latest stable SDK version…

[OLD]
[java] public static void main(String[] args) {
TestHoveringTank app = new TestHoveringTank();
AppSettings settings = new AppSettings(true);
settings.setRenderer(AppSettings.LWJGL_OPENGL3);
app.start();
}[/java]

[NEW]
[java] public static void main(String[] args) {
TestHoveringTank app = new TestHoveringTank();
AppSettings settings = new AppSettings(true);
settings.setRenderer(AppSettings.LWJGL_OPENGL2);
app.setSettings(settings);
app.start();
}[/java]

I once was blind, but now can see … :amused:

Further investigation shows, that after having this done once,
the other two installations (nightly SDK & built from source) work without modifications.
Even the latest stable now works with the original code that ships with it.

Strange…

Windows and its peculiarities…?

Probably none uses the explicit opengl3 mode as in the 2 one you can also use the 3 features.

Probably none uses the explicit opengl3 mode as in the 2 one you can also use the 3 features.

Hm, I just looked at LwjglRenderer.java in a jME-SDK (nightly version) and it indicates that there is only Support for at most OpenGL 2.0 anyways. Do you have someone who would add OpenGL3 and OpenGL4 and use these to make new features available, at least for desktop PC games?

Maybe I could add some of this, scince I have the Cookbook and the GL4.3 Redbook. But I wanted to start with my own game rather than hacking low-level GL stuff again.

I am just curious about the current and planned situation - no critics or insults intended. :slight_smile:

OpenGL3 and 4 features can be added to the existing renderer, in fact we already use many of them:

  • GLSL 1.5 shaders
  • Multisampled textures and FBOs
  • Float/HDR textures
  • Texture arrays

Ah, sorry, I misinterpreted something. You’re right!
A second look to the sources made it clear.