Sign in to follow this  

Open Scene Graph vs Nvidia Scene Graph

This topic is 4108 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm in the process of switching my engine pipeline to a scene graph implementation. I've decided to go for a publicly available scene graph library as I'm short on time. At the moment I'm unable to choose between openScenGraph and nvSG. I would prefer some sort of cross platform support (ideally for both openGL and directX), shader support, ease of use, good documentation and tools to support the asset pipeline. In the near future I hope to shift to managed code (specifically C#) and was wondering if either of the SDK's plan to support C# as well. Would like to hear people's experience on the 2 sdk's and their recommendations on the same.

Share this post


Link to post
Share on other sites
I've tried OSG before and whilst I can see its potential I found the lack of any decent documentation and samples to be very restrictive. I spent so much time pokeing and prodding it to try and get it to do what I wanted that I never got any actual game code written and in the end gave up due to frustration. Just something to keep in mind.

Share this post


Link to post
Share on other sites
That's certainly one of my concerns. I'd rather write my own tiny scene graph implementation if it gets the job rather than pour over mounds of incomprehensible documentation and not get anywhere in the process. Keeping my options open though...

Share this post


Link to post
Share on other sites
I've investigated both of these in the past, they are both similar in terms of OO design. They both use at there core the design patterns composite design pattern for the structure of the scene graph and the visitor pattern for working with the scene graph.

They do differ of-course and from that time I checked Nvidia's SG SDK is more lightweight and more tailored/optimized for nvidia cards (but not limited to), OSG is huge library encompassing many things (while still related to graphics).

Also if i remember correctly OSG internally converts the user's SG into a more optimized representation for rendering, with a visitor they convert the SG into an Octree. Nvidia's SG also does some kind of optimizations but not the same as SG if i remember correctly.

Remember this though when I checked them out it was some time ago, also I think traditional SGs are not very good for games anymore. They try to take on to many responsibilities, throwing everything into one big polymorphic Tree/DAG. The best thing is to have multiple representations/views each specialized for the task at hand. Neither SDK really do that, they're more traditional SGs.

[Edited by - snk_kid on September 18, 2006 8:11:58 AM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
another lightweight and accomplished (but basically unmaintained) scene graph implementation is available as part of the PLIB library, which is also used within FlightGear for exactly this purpose.

Share this post


Link to post
Share on other sites
There's also the Wild Magic engine which isn't so much an engine but a scene-graph implementation. It was made by one of the primary architects of the NetImmerse (now Gamebryo) engine.

There's also a couple of free engines that use scene-graphs such as Irrlicht and Ogre.

Share this post


Link to post
Share on other sites
Quote:
Original post by snk_kid
Remember this though when I checked them out it was some time ago, also I think traditional SGs are not very good for games anymore. They try to take on to many responsibilities, throwing everything into one big polymorphic Tree/DAG. The best thing is to have multiple representations/views each specialized for the task at hand. Neither SDK really do that, they're more traditional SGs.


Scene Graphs - just say no

Share this post


Link to post
Share on other sites
Thank you for your comments folks. Certainly gives me some thing to ponder over.

PlayerX, I've used Gamebryo and though it's scenegraph implementation was funky I had no end of trouble with manually controlling the render states for some specific purpose. That is not to say it's not good, but just that sometimes you had to twist its arm to get the job done. But perhaps that's a property of all scene graphs that attempt to do everything for you. :)

Will have to think this over carefully now. Hmm...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
In order to make your choice, you should visit this site:
http://www.devmaster.net/engines/

Share this post


Link to post
Share on other sites

This topic is 4108 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this