Explorar o código

Fixes the debug pipeline which was only working with GL4bc

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10472 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
jul..om %!s(int64=12) %!d(string=hai) anos
pai
achega
32e6516a47

+ 36 - 3
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;
                 }

+ 36 - 3
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;
                 }