Login  Register

Re: TextRenderer + VertexBufferObject + GLX on unix

Posted by Attila Barcsik on Apr 01, 2011; 8:58am
URL: https://forum.jogamp.org/TextRenderer-VertexBufferObject-GLX-on-unix-tp2758195p2762611.html

Hi!

I've bypassed the problem by manually checking for VBO's, but this behaviour is strange. It reports GL 1.5 is available but VBO's not, which shouldn't be possible - anyway the newest GLX is for GL 1.4, so i think isGL1.5 is looking at different GL context than the application uses ( application must use GLX server context on the other machine, because I've exported the display )

Here is the stack trace:

> export DISPLAY=192.168.100.108:0.0 ( other machine, 32bit ubuntu )
> xlogo ( works fine )
> glxgears ( works fine )
> java -jar -Djava.library.path=/home/barcsik/Workspace/NetBeans/3D\ Surface/lib/natives-linux-amd64 3*
Info: XInitThreads() called for concurrent Thread support
libEGL warning: No supported client API
   ... ( many times )...
libEGL warning: No supported client API
Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: array vertex_buffer_object must be enabled to call this method
        at jogamp.opengl.gl4.GL4bcImpl.checkBufferObject(GL4bcImpl.java:32235)
        at jogamp.opengl.gl4.GL4bcImpl.checkArrayVBOEnabled(GL4bcImpl.java:32262)
        at jogamp.opengl.gl4.GL4bcImpl.glVertexPointer(GL4bcImpl.java:31131)
        at com.jogamp.opengl.util.awt.TextRenderer$Pipelined_QuadRenderer.drawVertexArrays(TextRenderer.java:1815)
        at com.jogamp.opengl.util.awt.TextRenderer$Pipelined_QuadRenderer.draw(TextRenderer.java:1791)
        at com.jogamp.opengl.util.awt.TextRenderer$Pipelined_QuadRenderer.access$000(TextRenderer.java:1733)
        at com.jogamp.opengl.util.awt.TextRenderer.flushGlyphPipeline(TextRenderer.java:813)
        at com.jogamp.opengl.util.awt.TextRenderer.endRendering(TextRenderer.java:709)
        at com.jogamp.opengl.util.awt.TextRenderer.end3DRendering(TextRenderer.java:555)
        at SpecUI.UICurveX.Surface3D.GLFont.end3DRendering(GLFont.java:424)
        at SpecUI.UICurveX.Surface3D.Surface3D$Labels.render(Surface3D.java:4470)
        at SpecUI.UICurveX.Surface3D.Surface3D.display(Surface3D.java:740)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:191)
        at javax.media.opengl.awt.GLJPanel$Updater.display(GLJPanel.java:682)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:191)
        at jogamp.opengl.GLPbufferImpl$DisplayAction.run(GLPbufferImpl.java:288)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:363)
        at jogamp.opengl.GLPbufferImpl.invokeGL(GLPbufferImpl.java:274)
        at jogamp.opengl.GLPbufferImpl.display(GLPbufferImpl.java:147)
        at javax.media.opengl.awt.GLJPanel$PbufferBackend.doPaintComponentImpl(GLJPanel.java:1227)
        at javax.media.opengl.awt.GLJPanel$AbstractReadbackBackend.doPaintComponent(GLJPanel.java:996)
        at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:384)
        at SpecUI.UICurveX.Surface3D.GLCompositeJPanel.paintComponent(GLCompositeJPanel.java:87)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1780)
        at java.awt.Window.paint(Window.java:3375)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)