[OGL newbie] Vertex buffers

Hi

I’ve used DX for a while and to create static 3D graphics I used VertexBuffers…
I’ve also used openGL but never thought about optimizations…

Now I’m using JOGL for my 2D/3D…
Since pumping vertex each frame is not always a good solution, I want to create static structures (in vram :)) to speed up things.

What is the equivalent of VertexBuffers?
Is it DisplayList or VertexArray?

Many thanks

Neither :stuck_out_tongue: While display lists are usually stored in vRam they’re totally static, and vertex arrays are client side (system memory) but can be modified.

What you’re really after is the new VBO (Vertex Buffer Object) extension. Speeds seem to be as fast or faster than display lists, and you actually get to update them if you need to in the same way you lock/unlock DX vertex buffers.

So If I want to modify structures I have to use VertexArrays but I don’t gain so much (maybe nothing) in performance, right?

Otherwise If I want static structures I have to use DisplayLists gaining something in performance (especially with T&L hardware such as GeForce):
how much is this increase?

Vertex Buffers speed up things (especially with GeForce) above 50% in my tests…

I’d say you should give VBO a try and profile it to see how much difference it makes, i’d expect you to see the same sort of gains you do from regular DX vertex buffers. Don’t let the fact that its an extension put you off, it’s only a method of accessing vRam and supported on TNT and up.

There was an app linked from OpenGL.org a while ago that profiled various chunks of geometry with the different methods avalible, probably a good idea to try and find it to see what kind of speed ups to expect…

Are VBO an openGL 1.5 specific feature?
I’ve downloaded “openGL extension viewer” (www.realtech-vr.com) and it lists that feature under openGL 1.5.
It seems that my “Intel 82845G” doesn’t support it (maybe it’s acceptable) but also my GeForce4MX don’t support it.

Maybe it’s a driver problem, because also a test program says “unsupported extension” on both computers…

Anyway you know a site with example code?