Login  Register

Re: JOGL 2.0 (OpenGL/OpenGL-ES) backend for LibGDX

Posted by gouessej on Feb 25, 2013; 12:18pm
URL: https://forum.jogamp.org/JOGL-2-0-OpenGL-OpenGL-ES-backend-for-LibGDX-tp4027689p4028361.html

krishnak wrote
Have you Managed to get Ardor3d working with JOGL2 - if yes do  I need to build Ardor3d from source to get it working?
Yes of course, the instructions are here. My contributions are frequently merged into the trunk. However, it will probably not work on Raspberry Pi because there is no fully shader-based pipeline in this engine yet, it often uses both the fixed pipeline and the programmable pipeline. You don't need to use my repository to get it except if you need some bug fixes or trendy features (at your own risk) before proper integrations.

krishnak wrote
libGdx is good, but the examples are sparse and I am not sure whether it supports perspective camera mode?
That's explained here.

krishnak wrote
With reference to Libgdx - when the application PAXBrittanica quits on Ubuntu I get this exception thrown

Exception in thread "main" javax.media.opengl.GLException: main: No OpenGL context current on this thread
        at javax.media.opengl.GLContext.getCurrentGL(GLContext.java:372)
        at com.badlogic.gdx.backends.jogl.JoglGL10.glViewport(JoglGL10.java:430)
        at com.badlogic.gdx.backends.jogl.JoglGraphics.setDisplayMode(JoglGraphics.java:230)
        at de.swagner.paxbritannica.PaxBritannicaDesktop.main(PaxBritannicaDesktop.java:13)
Catched: main-AWTAnimator-1: GLContextImpl.destroy: obj 0x1e808ca, ctx 0x897ac68 - Lock was hold more than twice - makeCurrent/release imbalance: <141fab6, b301f2>[count 4, qsz 0, owner <main-AWTAnimator-1>]
javax.media.opengl.GLException: main-AWTAnimator-1: GLContextImpl.destroy: obj 0x1e808ca, ctx 0x897ac68 - Lock was hold more than twice - makeCurrent/release imbalance: <141fab6, b301f2>[count 4, qsz 0, owner <main-AWTAnimator-1>]
        at jogamp.opengl.GLContextImpl.destroy(GLContextImpl.java:336)
        at jogamp.opengl.GLDrawableHelper.disposeGL(GLDrawableHelper.java:861)
        at jogamp.opengl.GLAutoDrawableBase.destroyImplInLock(GLAutoDrawableBase.java:231)
        at com.jogamp.newt.opengl.GLWindow.access$300(GLWindow.java:94)
        at com.jogamp.newt.opengl.GLWindow$GLLifecycleHook.destroyActionInLock(GLWindow.java:433)
        at jogamp.newt.WindowImpl$DestroyAction.run(WindowImpl.java:871)
        at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:1570)
        at jogamp.newt.WindowImpl.destroy(WindowImpl.java:928)
        at com.jogamp.newt.opengl.GLWindow.destroy(GLWindow.java:389)
        at com.badlogic.gdx.backends.jogl.JoglApplication$2.run(JoglApplication.java:240)
        at com.badlogic.gdx.backends.jogl.JoglGraphics.display(JoglGraphics.java:118)
        at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:548)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:533)
        at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:280)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:904)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:822)
        at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:543)
        at com.badlogic.gdx.backends.jogl.JoglGraphicsBase.requestRendering(JoglGraphicsBase.java:212)
        at com.badlogic.gdx.backends.jogl.JoglApplication.postRunnable(JoglApplication.java:181)
        at com.badlogic.gdx.backends.jogl.JoglApplication.exit(JoglApplication.java:236)
        at de.swagner.paxbritannica.mainmenu.MainMenu.keyDown(MainMenu.java:405)
        at com.badlogic.gdx.backends.jogl.JoglInput.processEvents(JoglInput.java:191)
        at com.badlogic.gdx.backends.jogl.JoglGraphics.display(JoglGraphics.java:124)
        at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:548)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:533)
        at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:280)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:904)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:822)
        at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:543)
        at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:74)
        at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:142)
        at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:175)
        at java.lang.Thread.run(Thread.java:679)
It means that LibGDX tries to perform an action that requires a current OpenGL context too late when it has already been destroyed. It can be fixed.
Julien Gouesse | Personal blog | Website