Hi Paul,

I really strikes me that your response to scene graphs needs to be
informed by real experience.

The OSG does allow applications to scale well.  There is no magic wand
though.  Its not about digging into OpenGL - the OSG wraps this up for
you - but you have to construct a decent scene graph to get best
performance.  The OSG support a wide range of culling techniques, it
support FBO's, VBO's, PBO's, OpenGL fast paths, database paging,
multi-threading, LOD's, geees is a chocka full of features to help you
scale you data.  This is why people use the scene graphs and OSG in
particular.

Spend so time learning about it.  Performance optimization is a huge
topic, there are just dozens and dozens of different techniques and
database issues that you need to understand to make the best of your
simulation.  The OSG will help you make your life easier in many
respects but in the end its not magical, you still need to invest the
time in making a good database, this involves not just programming but
also great modelers who understand the needs of real-time graphics.

Robert.

On 6/29/07, Paul Kahler <[EMAIL PROTECTED]> wrote:
On Wed, 2007-06-27 at 20:02 -0600, Paul Martz wrote:
>
> What other kinds of culling are you looking for?

I was hoping for something better. Even just a BSP tree or something.
The reply about OpenGL occlusion query was hopeful, but that's on
someone's todo list apparently. That approach doesn't impress me a whole
lot either unless you're going to implement HZB or something really
worthwhile - I'm not sure if anyone has ever really made progress with
that either.

To be honest, someone asked me to take a look at OSG and give my
thoughts about it. Performance scaling is important to me and probably
the person who asked. In this area OSG falls short. Realism is also
important (to me) and from the images on the site OSG can be good in
that area - though it's not clear to me how much of that is OSG and how
much is up to the programmer. The fact that it seems to require one to
use OpenGL directly makes me think a lot is left to the application
programmer. The new osgviewer library probably hides that complexity
though.

IMHO a scene graph is not a terribly useful structure except for
localized cases. They work well for articulated objects that are man
made. Putting those objects as nodes in a world size graph is not
terribly useful. They also don't do much for organic forms. Large data
structures like that are great if they are used to accelerate rendering,
but when used for this it should be automatic and not up to the
programmer to optimize a database or insert special occluder nodes and
so on.

That said, anyone doing a 3d app will probably have to write a bunch of
code that overlaps what's in OSG already. Not mention they'd have to
debug it all. The there's the price ;-) And it turns out they have a
very active mailing list with helpful people. Another plus.

Thanks,
Paul


> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Paul Kahler
> > Sent: Wednesday, June 27, 2007 7:29 PM
> > To: [email protected]
> > Subject: [osg-users] Culling and performance scaling
> >
> > I've been poking around on the OSG site and the mailing list
> > and it's not clear to me how well OSG scales with geometric
> > complexity (polygon count). I understand view frustum culling
> > and back-face culling, but it's not clear to me if OSG can do
> > more than that. For example, if I have an entire town modeled
> > with terrain, buildings, furniture, under what conditions
> > will OSG skip drawing a chair inside a room?
> >
> > Or more simply, what does OSG do to skip rendering objects
> > obstructed by other objects?
> >
> > Speaking theoretically: back-face culling eliminates about
> > 1/2 of all polygons. View frustum culling eliminates perhaps
> > all but 1/4 of polygons in a large city viewed from the
> > middle of town. From a time complexity standpoint this turns
> > a O(n) problem where n is the number of polygons, into O(n/8)
> > which is really just k*O(n) = O(n). A constant improvement
> > but still linear. Does OSG do better? How?
> >
> > I understand that creating impostors and using LOD techniques
> > can also improve performance, but my question is strictly in
> > regard to methods that don't simplify geometry (i.e. culling).


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to