Error creating OpenGL 3.1 context
Posted by tree1 on Mar 13, 2013; 3:40pm
URL: https://forum.jogamp.org/Error-creating-OpenGL-3-1-context-tp4028609.html
Hi,
I have been trying to create an OpenGL 3.1 context, but I'm getting some errors:
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: handle is PBuffer, fixedCaps not: MacOSXPbufferCGLDrawable[Realized true,
Factory jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@2b180bfd,
Handle 0x7fcc74c50720,
Surface WrappedSurface[ UpstreamSurfaceHookMutableSize[ 1024x512], displayHandle 0x0, surfaceHandle 0x7fcc74c50720, size 1024x512, UOB[ OWNS_DEVICE ], surfaceLock <37bb2525, 5f83bcb8>[count 1, qsz 0, owner <AWT-EventQueue-0>] ]]
at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.create(MacOSXCGLContext.java:549)
at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createContextARBImpl(MacOSXCGLContext.java:239)
at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:758)
at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createImpl(MacOSXCGLContext.java:298)
at jogamp.opengl.macosx.cgl.MacOSXPbufferCGLContext.createImpl(MacOSXPbufferCGLContext.java:69)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:572)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:485)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:645)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:594)
at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:121)
at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1280)
at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:1002)
at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:361)
at javax.swing.JComponent.paint(JComponent.java:1037)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent._paintImmediately(JComponent.java:5106)
at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)
at javax.swing.RepaintManager.access$700(RepaintManager.java:41)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1672)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: handle is PBuffer, fixedCaps not: MacOSXPbufferCGLDrawable[Realized true,
Factory jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory@2b180bfd,
Handle 0x7fcc74c50720,
Surface WrappedSurface[ UpstreamSurfaceHookMutableSize[ 1024x512], displayHandle 0x0, surfaceHandle 0x7fcc74c50720, size 1024x512, UOB[ OWNS_DEVICE ], surfaceLock <37bb2525, 5f83bcb8>[count 2, qsz 0, owner <AWT-EventQueue-0>] ]]
at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.create(MacOSXCGLContext.java:549)
at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createContextARBImpl(MacOSXCGLContext.java:239)
at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:758)
at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createImpl(MacOSXCGLContext.java:298)
at jogamp.opengl.macosx.cgl.MacOSXPbufferCGLContext.createImpl(MacOSXPbufferCGLContext.java:69)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:572)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:485)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:645)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:594)
at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:121)
at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1280)
at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:1002)
at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:361)
at javax.swing.JComponent.paint(JComponent.java:1037)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JComponent.paintChildren(JComponent.java:870)
at javax.swing.JComponent.paint(JComponent.java:1046)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent._paintImmediately(JComponent.java:5106)
at javax.swing.JComponent.paintImmediately(JComponent.java:4890)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)
at javax.swing.RepaintManager.access$700(RepaintManager.java:41)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1672)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
The code I used is:
GLProfile glProfile = GLProfile.get(GLProfile.GL3);
GLCapabilities glCapabilities = new GLCapabilities(glProfile);
GLJPanel glPanel = new GLJPanel(glCapabilities);
internalFrame.getContentPane().add(glPanel);
(I am using Swing)
My hardware is:
Mac OS X 10.8.2, 4 GB Ram, ATI Radeon HD 2600 Pro 256 MB
I tried running the same code on a Linux Debian Squeeze machine with ATI Radeon HD 5xxx card, and it seemed to work there.
If I change the code from GLProfile.get(GLProfile.GL3) to GLProfile.getDefault(), which seems to return OpenGL 2.1 instead of OpenGL 3.1, then it seems to work.
Thanks