I have a code in which I create a VBO for rendering of a 3D model.
This code works fine on a local machine (Linux 32 bit Redhat Enterprise). The VBO appears to be available, gets bounds and the model gets drawn.
When I try to execute the EXACT same code but remotely from another machine with the display on my local machine, it fails. Understand that I'm running the EXACT same script, JOGL 1.1.1 Linux i586 version, same jars, same path, same everything...I simply sit at one machine and 'ssh -X' to the other machine so the display is handled and now I simply run the program from this other machine and the display is sent to the first machine. I verified that I have NO problems running the demo for JGears (no VBOs in it though. The error is the following:
Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: Error: no OpenGL buffer object appears to be bound to target 0x8892
at com.sun.opengl.impl.GLBufferSizeTracker.setBufferSize(GLBufferSizeTracker.java:118)
at com.sun.opengl.impl.GLImpl.glBufferData(GLImpl.java:785)
at nasaops.cts.display.graphics3d.modelutilities3ds.Model3DS.loadVBO(Model3DS.java:263)
...
The specific line 263 in my Model3DS.java code is in this code…the BOLD RED is line 263
And this person seems to think that remote access to this mode (VBO Mode) is not available…can someone concur? I can say that immediate rendering works just fine on my model - ie simply calling the rendering on each triangle as you would in the slowest case of rendering, without display lists. Obviously VBO would be preferred due to the speedup that I get.
Hi-- I don’t know if this is relevant to your problem, but there were some openGL issues when using OS X 10.5.5. This issue seems to have been fixed in the newest update OS X 10.5.6.
It might be relevant…unfortunately I don’t have a MAC to be able to do any testing. But if this is something that was tackled for MAC maybe it is fixed in other platforms and I’m just doing something wrong. thanks.
To add more info to my query…I ran the VertexBufferObject demo from the jogl-demos and I had the following results:
RHEL4 32 bit - local execution resulted in success
RHEL4 32 bit - via 'ssh -X' remote failed with
'[b]OpenGL extension "GL_ARB_vertex_buffer_object" not available[/b]'
Mind you this is not the exact same error I get but because it involves VBOs and because it is a remote ‘ssh -X’ attempt like my attempt was, it makes me think that there is some issue with being able to do remote hosting of JOGL displays if VBOs are used.
Or is this error related to video card drivers? What’s confusing is I can sit at the remote machines and the program runs fine. I can also sit at my local machine and the program runs fine. It is only when I try to sit at one and remote the display from another when it fails…so I would think the drivers are ok since they work fine locally but the remote accessing is the problem.
I just downloaded an example vbo script in C to see if this issue is a JOGL vs OpenGL issue and it seems like it is an OpenGL thing though still not sure if it is related to the video card drivers…need more investigation on that.
This too works fine locally (note top left corner of example program you will see “VBO: on” text if VBO is on). When I do it remotely, the “VBO: off” text appears and I cannot toggle (using SPACE bar) to use VBO and there is the same GL_ARB_vertex_buffer_object warning displayed in the xterm when I run the example.