From 911ead38d92310bcce1e1f79ff0d1f57a4748ced Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 2 Aug 2009 05:15:22 -0700 Subject: RedSquare: '-debug' option enables Debug/Trace using new GLPipelineFactory --- src/demos/es1/RedSquare.java | 31 ++++++++++++++++++++++++++++++- src/demos/es2/RedSquare.java | 22 ++++++++++++---------- 2 files changed, 42 insertions(+), 11 deletions(-) (limited to 'src/demos') diff --git a/src/demos/es1/RedSquare.java b/src/demos/es1/RedSquare.java index 17dd69e..3123a9d 100755 --- a/src/demos/es1/RedSquare.java +++ b/src/demos/es1/RedSquare.java @@ -163,7 +163,20 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo private FloatBuffer vertices; public void init(GLAutoDrawable drawable) { - GL2ES1 gl = FixedFuncUtil.getFixedFuncImpl(drawable.getGL()); + GL _gl = drawable.getGL(); + + if(debugffemu) { + debuggl = false; + try { + // Debug .. + _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES2.class, _gl, null) ); + + // Trace .. + _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", GL2ES2.class, _gl, new Object[] { System.err } ) ); + } catch (Exception e) {e.printStackTrace();} + } + + GL2ES1 gl = FixedFuncUtil.getFixedFuncImpl(_gl); if(swapInterval>=0) { gl.setSwapInterval(swapInterval); } @@ -179,6 +192,16 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo System.err.println(glp+" swapInterval: " + swapInterval + " (GL: "+gl.getSwapInterval()+")"); System.err.println(glp+" GLU: " + glu); + if(debuggl) { + try { + // Debug .. + gl = (GL2ES1) gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES1.class, gl, null) ); + + // Trace .. + gl = (GL2ES1) gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", GL2ES1.class, gl, new Object[] { System.err } ) ); + } catch (Exception e) {e.printStackTrace();} + } + // Allocate vertex arrays colors = BufferUtil.newFloatBuffer(16); vertices = BufferUtil.newFloatBuffer(12); @@ -252,6 +275,8 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo public static boolean oneThread = false; public static boolean pumpOnce = true; public static int swapInterval = -1; + public static boolean debuggl = false; + public static boolean debugffemu = false; public static void main(String[] args) { int type = USE_NEWT ; @@ -262,6 +287,10 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo try { swapInterval = Integer.parseInt(args[i]); } catch (Exception ex) { ex.printStackTrace(); } + } else if(args[i].equals("-debug")) { + debuggl=true; + } else if(args[i].equals("-debugff")) { + debugffemu=true; } else if(args[i].equals("-pumponce")) { pumpOnce=true; } else if(args[i].equals("-1thread")) { diff --git a/src/demos/es2/RedSquare.java b/src/demos/es2/RedSquare.java index 8b23ddc..da4505c 100755 --- a/src/demos/es2/RedSquare.java +++ b/src/demos/es2/RedSquare.java @@ -194,16 +194,15 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo System.err.println(glp+" swapInterval: " + swapInterval + " (GL: "+gl.getSwapInterval()+")"); System.err.println(glp+" GLU: " + glu); - /*** - // Debug .. - DebugGL2ES2 gldbg = new DebugGL2ES2(gl); - gl.getContext().setGL(gldbg); - gl = gldbg; - - // Trace .. - TraceGL2ES2 gltrace = new TraceGL2ES2(gl, System.err); - gl.getContext().setGL(gltrace); - gl = gltrace; **/ + if(debuggl) { + try { + // Debug .. + gl = (GL2ES2) gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES2.class, gl, null) ); + + // Trace .. + gl = (GL2ES2) gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", GL2ES2.class, gl, new Object[] { System.err } ) ); + } catch (Exception e) {e.printStackTrace();} + } pmvMatrix = new PMVMatrix(); @@ -320,6 +319,7 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo public static boolean oneThread = false; public static boolean pumpOnce = true; public static int swapInterval = -1; + public static boolean debuggl = false; public static void main(String[] args) { int type = USE_NEWT ; @@ -330,6 +330,8 @@ public class RedSquare extends Thread implements WindowListener, KeyListener, Mo try { swapInterval = Integer.parseInt(args[i]); } catch (Exception ex) { ex.printStackTrace(); } + } else if(args[i].equals("-debug")) { + debuggl=true; } else if(args[i].equals("-pumponce")) { pumpOnce=true; } else if(args[i].equals("-1thread")) { -- cgit v1.2.3