Open Scene Graph vs Nvidia Scene Graph

Started by
10 comments, last by GameDev.net 17 years, 7 months ago
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.
"There is no dark side of the moon." - Pink Floyd
Advertisement
use OSG
Yes but any particular reason why you've recommended it over the NVSG?
"There is no dark side of the moon." - Pink Floyd
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.
[size="1"] [size="4"]:: SHMUP-DEV ::
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...
"There is no dark side of the moon." - Pink Floyd
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]
What again is so hard about Scene Graphs? If you can program a game then the Scene Graph shouldn't be that difficult.
Programming since 1995.
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.
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.
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

This topic is closed to new replies.

Advertisement