Better performance with indexed arrays

Hi !

Do you know how to get better performance rendering a big mesh?
Right now I’m using indexes arrays (the problem only needs points and fog)
I’ve split the mesh in n sub-meshes (because only small regions inside are updated periodically) but without so much speedup.
some hints? ideas?

Thanks !

You’re rendering just points in fog?
Don’t use indexed vertex arrays then…you’re not sharing any vertices.
Use glDrawArrays instead of glDrawElements.

Putting geometry in displaylists will probably help or you could use either nvidias vertex array range extension or ATI’s vertex array object extension.

Are you sure that geometry transform is your bottleneck? Do you get a higher frame rate if you make your window smaller? If so, you’re fill rate limited.

Hi again !

I tested glDrawArrays without results…
The situation is:
about 3M points in a shell, but only a small % of them moving periodically (really updating their position), at 3Hz or less.
The first idea I got was to split the geom in several zones to improve performance.
Would I keep some of those zones in the (AGP Card) Memory instead of do a glDrawArrays ?

Thanks !!

do not draw 3million vertices in a sinlge call split it up into groups of about 4000 vertices.
prolly stick an octree inside your cloud and subdevide until u have about 4000 points in each node.
once u have this u can test what nodes are on screen + only draw those which will save a lot of performqnce