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/
