Hi Loic,

Optimizing drawing lots of large geometries depends upon lots of
factors, both hardware and software.  It really is a very open ended
topic, so could you qualify what you mean by "lots" and "large" a bit
more carefully, and also are the geometries all the same, same
geometry/different state, different geometries/same state, different
geometries and different state.

I tend to see "lots" of nodes/geometries as being in the order of
magnitude of 10,000+, and "large" geometries as being 100,000+
vertices.  Modern graphics cards can comfortably do 1,000,000 vertices
per frame at 60Hz, but only if you drive it efficiently - so using
VBO's and batching the geometries efficiently (avoiding too small
geometries).

Culling, state sorting and lazy state updating are all crucial factors
in getting good performance.  With such an open ended topic I can't
really add much more, you'll need to explain much more specifically
about the type of problem you are trying to solve and the amount of
state, nodes and geometry that you are dealing with.

Robert.


On Fri, Jul 3, 2009 at 11:07 AM, Simon Loic<[email protected]> wrote:
> Hi all,
> There was a thread recently about rendering many instances of spheres (I
> didn't want to hijack the thread so I created a new one). Many methods were
> proposed among which there were opengl pseudo instancing and the
> draw_instanced  extension.
> First I would like to know the main differences between these two (both in
> the principle and in terms of efficiency).
>
> just for the record, I've read the Nvidia paper given by Christian,
> http://download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/OpenGL/src/glsl_pseudo_instancing/docs/glsl_pseudo_instancing.pdf
>  and it seems that the pseudo instancing methods will be worth only when
> each instance contains few vertices (less than 50). This constraint won't
> cause any trouble for a sphere, I guess.
> Is it the same with the draw_instanced  extension?
> And then what would be the best approach to render many instances of a big
> geometry (eg thousands of vertices per instance)?
> Last, are those instancing methods worth even if the geometry is static, or
> is it more efficient to use DisplayList or VBO?
>
> I know there must not be general answers depending on many aspects (as the
> Graphics card, the driver, etc.) but I am looking forward to get a bit of
> your expertise in that matter.
> Thanks in advance.
>
> Loïc
>
> PS: I'm not very skilled in openGL so don't hesitate to explain things that
> seems very basic about all those concepts ( like instancing, VBO,
> displayList). Hopefully this will be also useful for other osg newbies like
> me.
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to