Rendering method of choice?
They're not really the same. Display lists can contain state changing commands, and GL will optimize them to minimize the state changes.
Vertizor Wrote:Whoa there, "vertex buffer" ??? That's DirectX talk now isn't it? Caught ya!
Vertex buffer vs. Display Lists is a moot argument because, well they're basically the same thing. DirectX creates vertex buffers and you arrange your data inside the buffer then stream it out to the video card. They can be kept in the video card's resident rememory for performance's sake.
Display lists is the OpenGL word for the same technique. I wouldn't go as far as to say one is better than the other, nor try to benchmark them because all it is, is just preloading and caching data. Afterwards it's still up to the rendering pipeline to consume that data.
I *thought* vertex-buffer was a perfectly valid OpenGL mechanism. I mean, I'm writing OpenGL on a powerbook, so if I'm inadvertently using DirectX technology I'm rather surprised that it's working
I'm referring to code like this:
glEnableClientState( GL_VERTEX_ARRAY );
glVertexPointer( 3, GL_FLOAT, 0, _shadowVolumeStackVertices );
glDrawArrays( GL_QUADS, 0, _shadowVolumeStackTop );
So, I guess I'd better refer to this as vertex-arrays? Since VBOs are just an extension to this, I thought it was called a vertex buffer...
Anyway, I'm actually aware of the difference between VBO and display lists -- I just thought the VBO would be faster since 100% of OpenGL sample code from the windows world uses VBO for *everything* -- plus VBO support was brought to OS X with much fanfare last year so I just *assumed* it was rockin`.
That said, I sharked my engine this morning and found that my VBO terrain implementation is just *slightly* faster than the display list version. But, the tradeoff is that now I can use ( ahem ) vertex arrays for shadow volumes and the speed up there is excellent. And even better, my game works on a GF4 MX now -- getting 30 to 60 fps solidly. Can't complain about that.
ARB_vertex_buffer_object -- maybe it's DirectX terminology, but it's also OpenGL terminology
Possibly Related Threads...
|A More Accurate Volumetric Particle Rendering Method Using the Pixel Shader||SethWillits||4||5,007||
Jun 11, 2008 01:50 PM
Last Post: AnotherJake