PDA

View Full Version : Vertex arrays and display lists



{MSX}
05-06-2005, 07:27 PM
Hi, today i was talking in chat about these two tecniques.
I don't know vertex arrays very much, but they're useful to avoid continue calls to GL functions to pass vertex information (or
But if i use Display lists, it avoid those calls as well.. So what should one use? What are the differences between the two approach? and also, what other tricks exists to speed up rendering ? :P

Paulius
05-06-2005, 08:52 PM
Display lists are not incompatible with vertex arrays, you can use both, if you want. While there?¢_Ts a possibility for drivers to optimize function calls inside a display list, you shouldn?¢_Tt be making those calls in the first place. Display lists were a useful feature in the original OpenGL when there were no VBOs, then it was the only way to possibly keep data server side. Now, as I see it, just like immediate mode, they are useless. They are not present in other graphics APIs and there?¢_Ts no actual guarantee that data won?¢_Tt be kept in system memory. Use VBOs whenever you can and because VBOs are analogous to vertex arrays, it?¢_Ts easy to fall back to them, if VBOs are not supported.

{MSX}
06-06-2005, 06:54 AM
thanks for the informations.. what are those VBO anyway ? :P
Do you have a good link to learn something about ?

thanks again!

Daikrys
06-06-2005, 11:21 AM
hi,

umm i think u can take a look to sascha williams page on
www.delphigl.com

u find some under the opengl page

directlink:
http://www.delphigl.de/files/vavsdl.zip
and
http://www.delphigl.de/files/GL_ARB_VBO.zip

bye

JSoftware
06-06-2005, 05:52 PM
vbo's are vertex buffer objects. you fill it up with vertices and other information needed and render them... great for instancing and a lot of vertices

http://www.devmaster.net/forums/index.php?showtopic=360&st=0

vbo's are supported back to ati rage and riva tnt so i would say: no need to fallback to anything else

{MSX}
06-06-2005, 06:43 PM
http://www.delphigl.de/files/vavsdl.zip


I've tried this and it renders at exacly the same fps with vertex array and display lists..

Paulius
06-06-2005, 07:23 PM
I've tried this and it renders at exacly the same fps with vertex array and display lists..
It may be so with you're current drivers, but if verticies were dinamic, vertex arrays would still run at the same speed, but display lists would need to be recompiled each time, makeing them run even slower than immediate mode

Daikrys
06-06-2005, 08:09 PM

{MSX}
07-06-2005, 05:06 PM
It may be so with you're current drivers, but if verticies were dinamic, vertex arrays would still run at the same speed, but display lists would need to be recompiled each time, makeing them run even slower than immediate mode

Umm there's a thing i don't undestand: if the vertices are stored on the gfx card instead of system memory, then changing them mean re-uploading them to the card? isn't this a waste of time? or is the memory mapped someway?

Paulius
07-06-2005, 05:28 PM
Umm there's a thing i don't undestand: if the vertices are stored on the gfx card instead of system memory, then changing them mean re-uploading them to the card? isn't this a waste of time? or is the memory mapped someway?
Vertex arrays are allways in system memory, VBOs can be, depending on circumstances, in system, video or AGP memory. Sure uploading data ower the system bus takes time, but in immediate mode you're always sending all that data, with VBOs you can upload only the vertices that have changed.