diff options
Diffstat (limited to 'src/demos/GLInfo.java')
-rwxr-xr-x | src/demos/GLInfo.java | 120 |
1 files changed, 77 insertions, 43 deletions
diff --git a/src/demos/GLInfo.java b/src/demos/GLInfo.java index a5a0a91..d222944 100755 --- a/src/demos/GLInfo.java +++ b/src/demos/GLInfo.java @@ -8,34 +8,35 @@ import javax.media.nativewindow.*; import com.sun.javafx.newt.*; import com.sun.javafx.newt.opengl.*; -public class GLInfo implements GLEventListener { +public class GLInfo extends Thread implements GLEventListener { private GLWindow window; + private GLProfile glp; - private void run(int type) { + public GLInfo() { + super(); + } + + private void start(String glprofile, int type) { int width = 256; int height = 256; - System.err.println("GLInfo.run()"); - if(null==glprofile) { - GLProfile.setProfileGLAny(); - } else { - GLProfile.setProfile(glprofile); - } + glp = GLProfile.GetProfile(glprofile); + System.err.println(glp+" GLInfo.start()"); try { - GLCapabilities caps = new GLCapabilities(); + GLCapabilities caps = new GLCapabilities(glp); // For emulation library, use 16 bpp caps.setRedBits(5); caps.setGreenBits(6); caps.setBlueBits(5); caps.setDepthBits(16); - System.err.println("GLCapabilities PRE : "+caps); + System.err.println(glp+" GLCapabilities PRE : "+caps); Window nWindow = null; if(0!=(type&USE_AWT)) { Display nDisplay = NewtFactory.createDisplay(NativeWindowFactory.TYPE_AWT, null); // local display Screen nScreen = NewtFactory.createScreen(NativeWindowFactory.TYPE_AWT, nDisplay, 0); // screen 0 nWindow = NewtFactory.createWindow(NativeWindowFactory.TYPE_AWT, nScreen, caps); - System.err.println(nWindow); + System.err.println(glp+" "+nWindow); //nWindow.setVisible(true); } window = GLWindow.create(nWindow, caps); @@ -45,14 +46,32 @@ public class GLInfo implements GLEventListener { // Size OpenGL to Video Surface window.setSize(width, height); // window.setFullscreen(true); + + start(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + + public void run() { + try { + System.err.println(glp+" GLInfo.run()"); + window.setVisible(true); window.display(); + try { + Thread.sleep(500); + } catch (Exception e) {} + + window.display(); + // Shut things down cooperatively window.destroy(); window.getFactory().shutdown(); - System.out.println("GLInfo shut down cleanly."); + System.out.println(glp+" GLInfo shut down cleanly."); } catch (Throwable t) { t.printStackTrace(); } @@ -60,63 +79,78 @@ public class GLInfo implements GLEventListener { public void init(GLAutoDrawable drawable) { GL gl = drawable.getGL(); - - System.err.println("GLCapabilities POST: "+drawable.getChosenGLCapabilities()); - System.err.println("GL Profile: "+GLProfile.getProfile()); - System.err.println("GL:" + gl); - System.err.println("GL_VERSION: " + gl.glGetString(GL.GL_VERSION)); - System.err.println("GL_EXTENSIONS: "); - System.err.println(" " + gl.glGetString(GL.GL_EXTENSIONS)); - System.err.println("Platform EXTENSIONS: "); - System.err.println(" " + gl.getContext().getPlatformExtensionsString()); - System.err.println("Availability Tests: "); - System.err.println(" Fixed: glBegin: "+gl.isFunctionAvailable("glBegin")); - System.err.println(" ES1 : glClearColorx: "+gl.isFunctionAvailable("glClearColorx")); - System.err.println(" GLSL : glUseProgram: "+gl.isFunctionAvailable("glUseProgram")); - System.err.println(" GL_ARB_vertex_array_object: "+gl.isExtensionAvailable("GL_ARB_vertex_array_object")); - System.err.println(" GL_ARB_vertex_array_object: glBindVertexArray: "+gl.isFunctionAvailable("glBindVertexArray")); - System.err.println(" GL_EXT_gpu_shader4: "+gl.isExtensionAvailable("GL_EXT_gpu_shader4")); - System.err.println(" GL_EXT_gpu_shader4: glBindFragDataLocation"+gl.isFunctionAvailable("glBindFragDataLocation")); - System.err.println(" GL_VERSION_3_0: "+gl.isExtensionAvailable("GL_VERSION_3_0")); - System.err.println(" GL_VERSION_3_0: glBeginConditionalRender: "+gl.isFunctionAvailable("glBeginConditionalRender")); - System.err.println(" GL_ARB_texture_buffer_object: "+gl.isExtensionAvailable("GL_ARB_texture_buffer_object")); - System.err.println(" GL_ARB_texture_buffer_object: glTexBuffer: "+gl.isFunctionAvailable("glTexBuffer")); - System.err.println(" GL_VERSION_3_1: "+gl.isExtensionAvailable("GL_VERSION_3_1")); - System.err.println(" EGL : eglCreateContext: "+gl.isFunctionAvailable("eglCreateContext")); - System.err.println(" EGLEx: eglCreateImage: "+gl.isFunctionAvailable("eglCreateImage")); - System.err.println(" GLX : glXCreateWindow: "+gl.isFunctionAvailable("glXCreateWindow")); - System.err.println(" GLX_ARB_create_context: "+gl.isExtensionAvailable("GLX_ARB_create_context")); - System.err.println(" WGL : wglCreateContext: "+gl.isFunctionAvailable("wglCreateContext")); - System.err.println(" CGL : CGLCreateContext: "+gl.isFunctionAvailable("CGLCreateContext")); + GLProfile glp = gl.getGLProfile(); + + System.err.println(glp+" GLCapabilities POST: "+drawable.getGLCapabilities()); + System.err.println(glp+" GL Profile: "+drawable.getGLProfile()); + System.err.println(glp+" GL:" + gl); + System.err.println(glp+" GL_VERSION: " + gl.glGetString(GL.GL_VERSION)); + System.err.println(glp+" GL_EXTENSIONS: "); + System.err.println(glp+" " + gl.glGetString(GL.GL_EXTENSIONS)); + System.err.println(glp+" Platform EXTENSIONS: "); + System.err.println(glp+" " + gl.getContext().getPlatformExtensionsString()); + System.err.println(glp+" Availability Tests: "); + System.err.println(glp+" Fixed: glBegin: "+gl.isFunctionAvailable("glBegin")); + System.err.println(glp+" ES1 : glClearColorx: "+gl.isFunctionAvailable("glClearColorx")); + System.err.println(glp+" GLSL : glUseProgram: "+gl.isFunctionAvailable("glUseProgram")); + System.err.println(glp+" GL_ARB_vertex_array_object: "+gl.isExtensionAvailable("GL_ARB_vertex_array_object")); + System.err.println(glp+" GL_ARB_vertex_array_object: glBindVertexArray: "+gl.isFunctionAvailable("glBindVertexArray")); + System.err.println(glp+" GL_EXT_gpu_shader4: "+gl.isExtensionAvailable("GL_EXT_gpu_shader4")); + System.err.println(glp+" GL_EXT_gpu_shader4: glBindFragDataLocation"+gl.isFunctionAvailable("glBindFragDataLocation")); + System.err.println(glp+" GL_VERSION_3_0: "+gl.isExtensionAvailable("GL_VERSION_3_0")); + System.err.println(glp+" GL_VERSION_3_0: glBeginConditionalRender: "+gl.isFunctionAvailable("glBeginConditionalRender")); + System.err.println(glp+" GL_ARB_texture_buffer_object: "+gl.isExtensionAvailable("GL_ARB_texture_buffer_object")); + System.err.println(glp+" GL_ARB_texture_buffer_object: glTexBuffer: "+gl.isFunctionAvailable("glTexBuffer")); + System.err.println(glp+" GL_VERSION_3_1: "+gl.isExtensionAvailable("GL_VERSION_3_1")); + System.err.println(glp+" EGL : eglCreateContext: "+gl.isFunctionAvailable("eglCreateContext")); + System.err.println(glp+" EGLEx: eglCreateImage: "+gl.isFunctionAvailable("eglCreateImage")); + System.err.println(glp+" GLX : glXCreateWindow: "+gl.isFunctionAvailable("glXCreateWindow")); + System.err.println(glp+" GLX_ARB_create_context: "+gl.isExtensionAvailable("GLX_ARB_create_context")); + System.err.println(glp+" WGL : wglCreateContext: "+gl.isFunctionAvailable("wglCreateContext")); + System.err.println(glp+" CGL : CGLCreateContext: "+gl.isFunctionAvailable("CGLCreateContext")); } public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { } public void dispose(GLAutoDrawable drawable) { + GL gl = drawable.getGL(); + GLProfile glp = gl.getGLProfile(); + + System.err.println(glp+" dispose"); } public void display(GLAutoDrawable drawable) { + GL gl = drawable.getGL(); + GLProfile glp = gl.getGLProfile(); + + System.err.println(glp+" display: "+displayed); + displayed++; } + int displayed = 0; public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { } public static int USE_NEWT = 0; public static int USE_AWT = 1 << 0; - public static String glprofile = null; public static void main(String[] args) { + String glprofile = null; int type = USE_NEWT ; + int num=0; for(int i=args.length-1; i>=0; i--) { if(args[i].equals("-awt")) { type |= USE_AWT; } if(args[i].startsWith("-GL")) { glprofile=args[i].substring(1); + new GLInfo().start(glprofile, type); + num++; } } - new GLInfo().run(type); - System.exit(0); + if(0==num) { + new GLInfo().start(glprofile, type); + } } } |