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.