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

