PDA

View Full Version : large mesh



MightyMouse
12-04-2006, 12:41 PM
I'm pulling data from a text file to build a mesh. the vertice data can get above 1M vertices. I'm using display lists to store the geometry. Now anything under 500k I can throw in a display list no problem; but sometime after that I get a blank screen. Anyone have a solution for rendering a large number of vertices (500k+) using display lists or vbo's or something to do it really fast. I mean, already my fps is down to 20 even with using display lists and god forbid I turn on texturing!

REYES
12-04-2006, 02:07 PM
Do you have to send all the data to the rendering pipeline? If not, you can try some simple culling techniques such as view frustum culling and send less vertices to the pipeline.

MightyMouse
12-04-2006, 03:24 PM
well yes... The mesh is GIS terrain data that will be used for research modeling... so the data is mostly viewed top down... I thought about using mesh resolution techniques but I didn't know if there was a better way or different way to go about this...

zeoverlord
12-04-2006, 03:38 PM
One or several VBO's is the fastest way, display lists is not.

1M vertices shouldn't be a problem, but try building tri or quad strips of them, it will bring down the vertex count to a more manageable number

MightyMouse
12-04-2006, 04:57 PM
Thanks!... I'm already using triangle strips... I'll try VBO's...

MightyMouse
12-04-2006, 05:54 PM
wow... I stumbled across a benchmark comparison of DL vs. VBO's and DL's are SOOOO SLOW!!! my goodness... no wonder my program sucks... in case anyone wanted to see here's the site
http://www.sci.utah.edu/~bavoil/opengl/vbo/data_types/

hope this helps other newbs...

Relic
12-04-2006, 10:57 PM
Those numbers look like they forgot to switch off vsync. You should do your own measurements.

k_szczech
12-05-2006, 02:24 AM
I took a look at that page: "The scene is made of 1M triangles rendered with 200 glDrawElements() calls". Calling glDrawElements 200 times can be costly. My terrain engine used about 200 sectors - each one drawn with glDrawElements() - when I changed it to dynamically merge index arrays and use only 10 glDrawElements I got very nice boost.

MightyMouse
12-05-2006, 12:48 PM
sweet.. :) ... I just added VBO's... no more problems display 1M+ verts on my laptop... cant wait to try this on my pc... man this is sweet... thanks guys.. :)