diff options
author | Sven Gothel <[email protected]> | 2023-03-30 20:50:44 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-03-30 20:50:44 +0200 |
commit | 68092a50c3b5d7fca72b1b9dc01d59b4444bcefb (patch) | |
tree | 70c0bd507a7d3e0d682784bfdcf9d2456daaa23c | |
parent | 7eb31a920506f7c25ed3ce79ac44dcf06d3fca82 (diff) |
GraphUI Demos: Cover more std arguments via GraphUIDemoArgs
3 files changed, 53 insertions, 104 deletions
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java b/src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java index dd8abceec..bdd8f8d6b 100644 --- a/src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java +++ b/src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java @@ -28,14 +28,17 @@ package com.jogamp.opengl.demos.graph.ui; import com.jogamp.graph.curve.Region; +import com.jogamp.opengl.GLProfile; import com.jogamp.opengl.demos.util.MiscUtils; public class GraphUIDemoArgs { public int surface_width, surface_height; + public String glProfileName = GLProfile.GL2ES2; public boolean wait_to_start = false; public boolean keepRunning = false; public int renderModes; - public int sceneMSAASamples = 4; + public int sceneMSAASamples = 0; + public float debugBoxThickness = 0f; public GraphUIDemoArgs(final int width, final int height, final int renderModes) { this.surface_width = width; @@ -53,9 +56,7 @@ public class GraphUIDemoArgs { return false; } boolean res = true; - if (args[idx[0]].equals("-keep")) { - keepRunning = true; - } else if (args[idx[0]].equals("-hhd")) { + if (args[idx[0]].equals("-hhd")) { surface_width = 1280; surface_height = 720; } else if (args[idx[0]].equals("-fhd")) { @@ -67,14 +68,24 @@ public class GraphUIDemoArgs { } else if (args[idx[0]].equals("-h")) { ++idx[0]; surface_height = MiscUtils.atoi(args[idx[0]], surface_height); + } else if(args[idx[0]].equals("-es2")) { + glProfileName = GLProfile.GLES2; + } else if(args[idx[0]].equals("-es3")) { + glProfileName = GLProfile.GLES3; + } else if(args[idx[0]].equals("-gl3")) { + glProfileName = GLProfile.GL3; + } else if(args[idx[0]].equals("-gldef")) { + glProfileName = null; } else if(args[idx[0]].equals("-wait")) { wait_to_start = true; + } else if (args[idx[0]].equals("-keep")) { + keepRunning = true; } else if(args[idx[0]].equals("-gnone")) { sceneMSAASamples = 0; renderModes = 0; } else if(args[idx[0]].equals("-smsaa")) { ++idx[0]; - sceneMSAASamples = MiscUtils.atoi(args[idx[0]], sceneMSAASamples); + sceneMSAASamples = MiscUtils.atoi(args[idx[0]], 4); renderModes = 0; } else if(args[idx[0]].equals("-gmsaa")) { sceneMSAASamples = 0; @@ -82,9 +93,19 @@ public class GraphUIDemoArgs { } else if(args[idx[0]].equals("-gvbaa")) { sceneMSAASamples = 0; renderModes = Region.VBAA_RENDERING_BIT; + } else if (args[idx[0]].equals("-dbgbox")) { + ++idx[0]; + debugBoxThickness = MiscUtils.atof(args[idx[0]], debugBoxThickness); } else { res = false; } return res; } + @Override + public String toString() { + return "Options{surface[width "+surface_width+" x "+surface_height+"], glp "+glProfileName+ + ", wait "+wait_to_start+", keep "+keepRunning+ + ", renderModes "+Region.getRenderModeString(renderModes)+ + ", smsaa "+sceneMSAASamples+", dbgbox "+debugBoxThickness+"}"; + } } diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java index 7e82819d5..242c94dcd 100644 --- a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java +++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java @@ -92,7 +92,6 @@ public class UISceneDemo03 { } public static void main(final String[] args) throws IOException { - final GLProfile reqGLP = GLProfile.getGL2ES2(); int autoSpeed = 0; if (0 != args.length) { @@ -111,7 +110,10 @@ public class UISceneDemo03 { } } // renderModes |= Region.COLORCHANNEL_RENDERING_BIT; - System.err.println("RenderModes: "+Region.getRenderModeString(options.renderModes)); + System.err.println(options); + + final GLProfile reqGLP = GLProfile.get(options.glProfileName); + System.err.println("GLProfile: "+reqGLP); // // Resolution independent, no screen size diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java index 88b28f24b..5f4d7ae76 100644 --- a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java +++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java @@ -106,134 +106,60 @@ public class UISceneDemo20 implements GLEventListener { static final boolean DEBUG = false; static final boolean TRACE = false; - public static void main(final String[] args) { - int sceneMSAASamples = 0; - boolean graphVBAAMode = true; - boolean graphMSAAMode = false; - float graphAutoMode = 0; // GPUUISceneGLListener0A.DefaultNoAADPIThreshold; + static GraphUIDemoArgs options = new GraphUIDemoArgs(1280, 720, Region.VBAA_RENDERING_BIT); + public static void main(final String[] args) { final float[] reqSurfacePixelScale = new float[] { ScalableSurface.AUTOMAX_PIXELSCALE, ScalableSurface.AUTOMAX_PIXELSCALE }; String fontfilename = null; String filmURL = null; - int width = 1280, height = 720; - - boolean forceES2 = false; - boolean forceES3 = false; - boolean forceGL3 = false; - boolean forceGLDef = false; - if( 0 != args.length ) { - for(int i=0; i<args.length; i++) { - if(args[i].equals("-gnone")) { - sceneMSAASamples = 0; - graphMSAAMode = false; - graphVBAAMode = false; - graphAutoMode = 0f; - } else if(args[i].equals("-smsaa")) { - i++; - sceneMSAASamples = MiscUtils.atoi(args[i], sceneMSAASamples); - graphMSAAMode = false; - graphVBAAMode = false; - graphAutoMode = 0f; - } else if(args[i].equals("-gmsaa")) { - graphMSAAMode = true; - graphVBAAMode = false; - graphAutoMode = 0f; - } else if(args[i].equals("-gvbaa")) { - graphMSAAMode = false; - graphVBAAMode = true; - graphAutoMode = 0f; - } else if(args[i].equals("-gauto")) { - graphMSAAMode = false; - graphVBAAMode = true; - i++; - graphAutoMode = MiscUtils.atof(args[i], graphAutoMode); - } else if(args[i].equals("-font")) { - i++; - fontfilename = args[i]; - } else if(args[i].equals("-width")) { - i++; - width = MiscUtils.atoi(args[i], width); - } else if(args[i].equals("-height")) { - i++; - height = MiscUtils.atoi(args[i], height); - } else if(args[i].equals("-pixelScale")) { - i++; - final float pS = MiscUtils.atof(args[i], reqSurfacePixelScale[0]); + final int[] idx = { 0 }; + for (idx[0] = 0; idx[0] < args.length; ++idx[0]) { + if( options.parse(args, idx) ) { + continue; + } else if(args[idx[0]].equals("-font")) { + idx[0]++; + fontfilename = args[idx[0]]; + } else if(args[idx[0]].equals("-pixelScale")) { + idx[0]++; + final float pS = MiscUtils.atof(args[idx[0]], reqSurfacePixelScale[0]); reqSurfacePixelScale[0] = pS; reqSurfacePixelScale[1] = pS; - } else if(args[i].equals("-es2")) { - forceES2 = true; - } else if(args[i].equals("-es3")) { - forceES3 = true; - } else if(args[i].equals("-gl3")) { - forceGL3 = true; - } else if(args[i].equals("-gldef")) { - forceGLDef = true; - } else if(args[i].equals("-film")) { - i++; - filmURL = args[i]; + } else if(args[idx[0]].equals("-film")) { + idx[0]++; + filmURL = args[idx[0]]; } } } - System.err.println("forceES2 "+forceES2); - System.err.println("forceES3 "+forceES3); - System.err.println("forceGL3 "+forceGL3); - System.err.println("forceGLDef "+forceGLDef); - System.err.println("Desired win size "+width+"x"+height); - System.err.println("Scene MSAA Samples "+sceneMSAASamples); - System.err.println("Graph MSAA Mode "+graphMSAAMode); - System.err.println("Graph VBAA Mode "+graphVBAAMode); - System.err.println("Graph Auto Mode "+graphAutoMode+" no-AA dpi threshold"); + System.err.println(options); final Display dpy = NewtFactory.createDisplay(null); final Screen screen = NewtFactory.createScreen(dpy, 0); System.err.println(VersionUtil.getPlatformInfo()); System.err.println(JoglVersion.getAllAvailableCapabilitiesInfo(dpy.getGraphicsDevice(), null).toString()); - final GLProfile glp; - if(forceGLDef) { - glp = GLProfile.getDefault(); - } else if(forceGL3) { - glp = GLProfile.get(GLProfile.GL3); - } else if(forceES3) { - glp = GLProfile.get(GLProfile.GLES3); - } else if(forceES2) { - glp = GLProfile.get(GLProfile.GLES2); - } else { - glp = GLProfile.getGL2ES2(); - } + final GLProfile glp = GLProfile.get(options.glProfileName); System.err.println("GLProfile: "+glp); final GLCapabilities caps = new GLCapabilities(glp); caps.setAlphaBits(4); - if( sceneMSAASamples > 0 ) { + if( options.sceneMSAASamples > 0 ) { caps.setSampleBuffers(true); - caps.setNumSamples(sceneMSAASamples); + caps.setNumSamples(options.sceneMSAASamples); } System.out.println("Requested: " + caps); - final int renderModes; - if( graphVBAAMode ) { - renderModes = Region.VBAA_RENDERING_BIT; - } else if( graphMSAAMode ) { - renderModes = Region.MSAA_RENDERING_BIT; - } else { - renderModes = 0; - } - final GLWindow window = GLWindow.create(screen, caps); - if( 0 == sceneMSAASamples ) { + if( 0 == options.sceneMSAASamples ) { window.setCapabilitiesChooser(new NonFSAAGLCapsChooser(true)); } - window.setSize(width, height); - window.setTitle("GraphUI Newt Demo: graph["+Region.getRenderModeString(renderModes)+"], msaa "+sceneMSAASamples); + window.setSize(options.surface_width, options.surface_height); + window.setTitle("GraphUI Newt Demo: graph["+Region.getRenderModeString(options.renderModes)+"], msaa "+options.sceneMSAASamples); window.setSurfaceScale(reqSurfacePixelScale); // final float[] valReqSurfacePixelScale = window.getRequestedSurfaceScale(new float[2]); - final UISceneDemo20 scene = 0 < graphAutoMode ? new UISceneDemo20(fontfilename, filmURL, graphAutoMode, DEBUG, TRACE) : - new UISceneDemo20(fontfilename, filmURL, renderModes, DEBUG, TRACE); + final UISceneDemo20 scene = new UISceneDemo20(fontfilename, filmURL, options.renderModes, DEBUG, TRACE); window.addGLEventListener(scene); final Animator animator = new Animator(); |