Hi Ken,
I would like to report a bug which is related to the OGL pipeline, but before I go into details let me tell you what I have done:
- First, I have ported my application to Jogl 1.0.0-beta4 without any major problem;
- My application is compatible with the java 1.5 and I have tested it on Java version 1.5 (
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
) and on Mustang (1.6.0-beta2-b81
and1.6.0-beta2-b83
) - it works correctly on all these Java versions; - I have also installed special
RepaintManager
to be absolutely sure that all painting in my application is done on EDT (see http://weblogs.java.net/blog/alexfromsun/); - I have also taken care that the latest NVidia driver version 84.21 is installed on my Windows computer (GPU: NVidia GeForceFX 5700LE) ;
- All tests have been done on Windows XP SP2.
So, I can say that my application works correctly without any problems (log [1]) . Problems occur when I try to enable JOGL/Java2D integration (OGL pipeline) with an option (-sun.java2d.opengl=True
). I can definitely see that the rendering is completely wrong - “inedible” (please see log [2]). If the RepaintManager is not installed I can see that there are less problems(log [3]). In both cases (2 and 3) the upper part of GLJPanel object is “cut off” - my object is translated to the bottom.
I would like to send you a few pictures of my application (one picture is worth more than a thousands words) so that you could see how it works and I would you like to send you those pictures in private. If you are interested in would that be possible? If yes, please, tell me where should I send them. Should I send any other infromation?
Kind regards and many thanks for your help,
Andrei
[1.] Here is part of the log with OGL pipeline disabled, RepaintManager installed, application works correctly:
Options: -Djogl.verbose -Djogl.debug.Java2D -Djogl.debug.GLJPanel
Installed repaint manager java version "1.6.0-beta2" Java(TM) SE Runtime Environment (build 1.6.0-beta2-b83) Java HotSpot(TM) Client VM (build 1.6.0-beta2-b83, mixed mode, sharing) JOGL specification version 1.0.0 JOGL implementation version 1.0.0-beta4 JOGL implementation vendor Sun Microsystems, Inc. OGLUtilities.UNDEFINED = 0 OGLUtilities.WINDOW = 1 OGLUtilities.PBUFFER = 2 OGLUtilities.TEXTURE = 3 OGLUtilities.FLIP_BACKBUFFER = 4 OGLUtilities.FBOBJECT = 5 Checking for Java2D/OpenGL support Java2D support: default GraphicsConfiguration = sun.awt.Win32GraphicsConfig JOGL/Java2D integration disabled GLJPanel.addNotify() Using AWT thread for performing OpenGL work in javax.media.opengl implementation GLJPanel.handleReshape: (w,h) = (624,419) Resizing pbuffer from (256, 256) to fit (624, 419) New pbuffer size is (1024, 512) glViewport(0, 0, 624, 419) GLJPanel.removeNotify() GLJPanel.addNotify() repaint GLJPanel.handleReshape: (w,h) = (624,419) glViewport(0, 0, 624, 419) GLJPanel.removeNotify() GLJPanel.addNotify() repaint GLJPanel.handleReshape: (w,h) = (624,419) glViewport(0, 0, 624, 419) GLJPanel.handleReshape: (w,h) = (736,545) Resizing pbuffer from (1024, 512) to fit (736, 545) New pbuffer size is (1024, 1024) glViewport(0, 0, 736, 545) GLJPanel.handleReshape: (w,h) = (1000,632) glViewport(0, 0, 1000, 632) GLJPanel.handleReshape: (w,h) = (736,545) glViewport(0, 0, 736, 545) GLJPanel.removeNotify()
[2.] Here is part of the log with OGL pipeline enabled, RepaintManager installed, rendering is not correct, upper part of GLJPanel is “cut off” :
Options: -Djogl.verbose -Djogl.debug.Java2D -Djogl.debug.GLJPanel -Dsun.java2d.opengl=True
Installed repaint manager OpenGL pipeline enabled for default config on screen 0 java version "1.6.0-beta2" Java(TM) SE Runtime Environment (build 1.6.0-beta2-b83) Java HotSpot(TM) Client VM (build 1.6.0-beta2-b83, mixed mode, sharing) JOGL specification version 1.0.0 JOGL implementation version 1.0.0-beta4 JOGL implementation vendor Sun Microsystems, Inc. OGLUtilities.UNDEFINED = 0 OGLUtilities.WINDOW = 1 OGLUtilities.PBUFFER = 2 OGLUtilities.TEXTURE = 3 OGLUtilities.FLIP_BACKBUFFER = 4 OGLUtilities.FBOBJECT = 5 Checking for Java2D/OpenGL support Java2D support: default GraphicsConfiguration = sun.java2d.opengl.WGLGraphicsConfig JOGL/Java2D integration enabled GLJPanel.addNotify() GLJPanel.handleReshape: (w,h) = (624,419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(8, 282, 624, 419) Sending reshape because viewport changed viewportX (0) ?= oglViewport.x ( 8 ) viewportY (0) ?= oglViewport.y (282) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 GLJPanel: gl.glScissor(8, 282, 624, 419) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 glViewport(8, 282, 624, 419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(0, 641, 193, 18) Sending reshape because viewport changed viewportX ( 8 ) ?= oglViewport.x (-70) viewportY (282) ?= oglViewport.y (240) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 glViewport(-70, 240, 624, 419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(0, 641, 193, 18 ) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(8, 282, 624, 419) Sending reshape because viewport changed viewportX (-70) ?= oglViewport.x ( 8 ) viewportY (240) ?= oglViewport.y (282) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 glViewport(8, 282, 624, 419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(0, 315, 624, 419) Sending reshape because viewport changed viewportX ( 8 ) ?= oglViewport.x (0) viewportY (282) ?= oglViewport.y (315) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028
[3.] Here is part of the log with OGL pipeline enabled, RepaintManager is not instaled, upper part of GLJPanel is “cut off”:
Options: -Djogl.verbose -Djogl.debug.Java2D -Djogl.debug.GLJPanel -Dsun.java2d.opengl=True
java version "1.6.0-beta2" Java(TM) SE Runtime Environment (build 1.6.0-beta2-b83) Java HotSpot(TM) Client VM (build 1.6.0-beta2-b83, mixed mode, sharing) Opening file C:\CNS\Data2\Ball-C540.xml JOGL specification version 1.0.0 JOGL implementation version 1.0.0-beta4 JOGL implementation vendor Sun Microsystems, Inc. OGLUtilities.UNDEFINED = 0 OGLUtilities.WINDOW = 1 OGLUtilities.PBUFFER = 2 OGLUtilities.TEXTURE = 3 OGLUtilities.FLIP_BACKBUFFER = 4 OGLUtilities.FBOBJECT = 5 Checking for Java2D/OpenGL support Java2D support: default GraphicsConfiguration = sun.java2d.opengl.WGLGraphicsConfig JOGL/Java2D integration enabled GLJPanel.addNotify() GLJPanel.handleReshape: (w,h) = (624,419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(28, 240, 624, 419) Sending reshape because viewport changed viewportX (0) ?= oglViewport.x (28) viewportY (0) ?= oglViewport.y (240) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 GLJPanel: gl.glScissor(28, 240, 624, 419) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 glViewport(28, 240, 624, 419) -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(28, 240, 624, 419) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(28, 240, 624, 419) GLJPanel: Setting up drawBuffer 1028 and readBuffer 1028 -- In invokeWithOGLContextCurrent -- Surface type: PBUFFER GLJPanel: gl.glScissor(28, 240, 624, 419)