Drawing many points in OpenGL

Started by
22 comments, last by Lyve 20 years, 8 months ago
Face culling doesn''t work for points, so I''m disabling it (enabling wouldn''t change the speed because even with culling all points are rendered)
_____________________________________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
Can you perhaps post a screenshot so I can see a bit more clearly what you are trying to render?

Sander Maréchal
[Lone Wolves Game Development][RoboBlast][Articles][GD Emporium][Webdesign][E-mail]


GSACP: GameDev Society Against Crap Posting
To join: Put these lines in your signature and don''t post crap!

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

quote:Original post by Lyve
Face culling doesn''t work for points, so I''m disabling it (enabling wouldn''t change the speed because even with culling all points are rendered)


Right - I should''ve read more carefully. I had polygons in mind....
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
50fps / 320,000pts give ~15,000,000 points per second.
I''d say it''s really good for lighted points on a GF4Ti4200, especially if the points move every frame. Don''t expect getting much more. A bit more probably, but not much.

What is your lighting parameters ? How many lights ? Directional lights ? Don''t tell us you have spot lights

VBO are very good to speed up things, but :
- if the driver is clever enough, he can do this optimization for you without even asking for it,
- nVidia had performance issues with VBO in their first implementations. Please download the very latest drivers.

Are your particles always in the field of view ? If not, maybe you can group some and perform frustum culling on their bounding box. It may save rendering of thousands of points, but you need to be able to group points and to compute their bounding boxes at a very low cost, otherwise you won''t get performance boost.

Have you benched the CPU load ? what processor do you have ? Depending on the GPU power / CPU power contrast, maybe you will have to let the graphics card work more or the central processor work more, things like computing software lighting.

What is the point movement policy ? Can''t you compute their position in a vertex program ? That would be very useful if the CPU is limited.

And a last thing : never setup a 16-bit color buffer with nVidia cards. It will kill you performance. Moreover, if you desktop is in 16bit actually, you should set it to 32bits.

This topic is closed to new replies.

Advertisement