Advertisement

Fastest way to draw a package of polys?

Started by April 25, 2003 11:30 AM
7 comments, last by DarkKiller 21 years, 10 months ago
Hi all, during an engine-development-process there often comes a point where discussions are needed. The todays topic is which way would be the best to draw an object. - glList - VertexArray - ?? something else? Then main problem with glLists is that its not possible to work with the vertexes again. Well, or I just no none. They are fast. Vertexes can use every kind of extension, color or what ever.... Collision detection.... nice try. VertexArrays are great for different calculations like collision, deformation .... ect. But they are not really fast and you have to do the whole texture-color-extension stuff every frame. What a mess... So is there an other intelligent and especially fast way to draw a couple of objects with about 1200 polys? The object database we use can use nearly everthing you can think of. So we just need a way to store the object.... BTW. Its not really clear what a glList exactly does. Is the object stored in systems memory or in graphic-cards memory? ''Cause storing the object in graphic-cards memory would save a lot of time because we do not need to push the data through the pipeline. Help? Sincerly Dark
DarkMcNugget next time... ;)
Vertex arrays will be faster, and more flexible... Display lists are only good for static data, and even at that vertex arrays can be faster

quote:

.... ect. But they are not really fast



Yes, they''re fast...

quote:

you have to do the whole texture-color-extension stuff every frame. What a mess...



huh? trxture-color-extension?
Advertisement
it realy won''t matter wich way you choose when you drawing only 1200 polygons, it won''t really matter until you start drawing about 120000 polygons and besides.
glList actuarly use vertex arrays and are not especialy faster, it''s just there to make it easier for a programmer to draw repetative shapes.
glLists remindes me of the get and put in basic!
---------------------------The pipes clangor all the time.
No problem!

quote:
it won''t really matter until you start drawing about 120000 polygons and besides.


Well 120000 is a bit out of range but we think about 20000 - 30000 Polys at maximum and about 10000 during normal playing.

All right then.

Thankx a lott for you help!

Dark
DarkMcNugget next time... ;)
I''m using triangle strips in combination with glDrawElements which is quite fast here.
_____________________________________http://www.winmaze.de, a 3D shoot em up in OpenGL, nice graphics, multiplayer, chat rooms, a nice community, worth visiting! ;)http://www.spheretris.tk, an upcoming Tetrisphere clone for windows, a 3D tetris game on a sphere with powerful graphics for Geforce FX and similar graphics cards.
Advertisement
And it would probably be faster if used in combination with the ARB_vertex_buffer_object extension.
aha... ''ARB_vertex_buffer_object'' sounds very interesting!
Maybe this is what I''m looking for so long.

I have a vertexbuffer in my mind that''s stored in Graphicsmemory... right? This would should be much faster then anything else thats send through the pipeline!

I''ll try to find something about it. Thanks a lott!

Dark

McNugget next time...
DarkMcNugget next time... ;)
quote:
Original post by DarkKiller
I have a vertexbuffer in my mind that''s stored in Graphicsmemory... right?

yup, that''s basically the idea.
It may not always succeed (eg if graphics card''s memory is full) but it is transparent to the programmer.

Actually, the extension is starting to be supported (mainly on nVidia and ATi hardware) so you may not find easily drivers that already support the extension, but in a few weeks/months you will.

This topic is closed to new replies.

Advertisement