diff --git a/engine/src/jogl/com/jme3/system/jogl/JoglAbstractDisplay.java b/engine/src/jogl/com/jme3/system/jogl/JoglAbstractDisplay.java index 74525df7e..a3fb53767 100644 --- a/engine/src/jogl/com/jme3/system/jogl/JoglAbstractDisplay.java +++ b/engine/src/jogl/com/jme3/system/jogl/JoglAbstractDisplay.java @@ -45,7 +45,13 @@ import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Logger; +import javax.media.opengl.DebugGL2; +import javax.media.opengl.DebugGL3; +import javax.media.opengl.DebugGL3bc; +import javax.media.opengl.DebugGL4; import javax.media.opengl.DebugGL4bc; +import javax.media.opengl.DebugGLES1; +import javax.media.opengl.DebugGLES2; import javax.media.opengl.GL; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLCapabilities; @@ -119,11 +125,38 @@ public abstract class JoglAbstractDisplay extends JoglContext implements GLEvent if (settings.getBoolean("GraphicsDebug")) { canvas.invoke(false, new GLRunnable() { - public boolean run(GLAutoDrawable glad) { GL gl = glad.getGL(); - if (gl.isGL4bc()) { - canvas.setGL(new DebugGL4bc(gl.getGL4bc())); + if (gl.isGLES()) { + if (gl.isGLES1()) { + glad.setGL(new DebugGLES1(gl.getGLES1())); + } else { + if (gl.isGLES2()) { + glad.setGL(new DebugGLES2(gl.getGLES2())); + } else { + // TODO ES3 + } + } + } else { + if (gl.isGL4bc()) { + glad.setGL(new DebugGL4bc(gl.getGL4bc())); + } else { + if (gl.isGL4()) { + glad.setGL(new DebugGL4(gl.getGL4())); + } else { + if (gl.isGL3bc()) { + glad.setGL(new DebugGL3bc(gl.getGL3bc())); + } else { + if (gl.isGL3()) { + glad.setGL(new DebugGL3(gl.getGL3())); + } else { + if (gl.isGL2()) { + glad.setGL(new DebugGL2(gl.getGL2())); + } + } + } + } + } } return true; } diff --git a/engine/src/jogl/com/jme3/system/jogl/JoglNewtAbstractDisplay.java b/engine/src/jogl/com/jme3/system/jogl/JoglNewtAbstractDisplay.java index d17f47104..c8ce3dc81 100644 --- a/engine/src/jogl/com/jme3/system/jogl/JoglNewtAbstractDisplay.java +++ b/engine/src/jogl/com/jme3/system/jogl/JoglNewtAbstractDisplay.java @@ -44,7 +44,13 @@ import com.jogamp.opengl.util.AnimatorBase; import com.jogamp.opengl.util.FPSAnimator; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Logger; +import javax.media.opengl.DebugGL2; +import javax.media.opengl.DebugGL3; +import javax.media.opengl.DebugGL3bc; +import javax.media.opengl.DebugGL4; import javax.media.opengl.DebugGL4bc; +import javax.media.opengl.DebugGLES1; +import javax.media.opengl.DebugGLES2; import javax.media.opengl.GL; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLCapabilities; @@ -99,11 +105,38 @@ public abstract class JoglNewtAbstractDisplay extends JoglContext implements GLE if (settings.getBoolean("GraphicsDebug")) { canvas.invoke(false, new GLRunnable() { - public boolean run(GLAutoDrawable glad) { GL gl = glad.getGL(); - if (gl.isGL4bc()) { - canvas.setGL(new DebugGL4bc(gl.getGL4bc())); + if (gl.isGLES()) { + if (gl.isGLES1()) { + glad.setGL(new DebugGLES1(gl.getGLES1())); + } else { + if (gl.isGLES2()) { + glad.setGL(new DebugGLES2(gl.getGLES2())); + } else { + // TODO ES3 + } + } + } else { + if (gl.isGL4bc()) { + glad.setGL(new DebugGL4bc(gl.getGL4bc())); + } else { + if (gl.isGL4()) { + glad.setGL(new DebugGL4(gl.getGL4())); + } else { + if (gl.isGL3bc()) { + glad.setGL(new DebugGL3bc(gl.getGL3bc())); + } else { + if (gl.isGL3()) { + glad.setGL(new DebugGL3(gl.getGL3())); + } else { + if (gl.isGL2()) { + glad.setGL(new DebugGL2(gl.getGL2())); + } + } + } + } + } } return true; }