Tell me more ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Scene graph is a popular method to organize game objects and UI. Scene graphs can be handy when you go totally data-driven. Wiki says:

The scene graph is a structure that arranges the logical and often (but not necessarily) spatial representation of a graphical scene. The definition of a scene graph is fuzzy because programmers who implement scene graphs in applications and in particular the games industry take the basic principles and adapt these to suit particular applications. This means there is no consensus as to what a scene graph should be.


Some links:

Understanding and Implementing Scene Graphs

Game Object Structure: Scene Graphs

Game Object Structure: Scene Graphs Revisited

"Dependency Graphs In Games" by Jelle van der Beek

Infinity: Pipeline system description


Google image "scene graph" search shows that there are many different approaches to build scene graphs. Some of them:

  1. Nodes contain only logic data.
  2. Nodes contain and combine logic data, meshes, rendering states, transformations etc.
  3. Nodes are used to separate spatial information to optimize collision checks etc.
  4. Nodes are used to set up joints and constraints.
  5. Nodes contain rendering pipelines only.

Some implementations use Visitor Pattern and concept of RenderPasses.

Some authors recommend to use DAG (directed acyclic graphs) despite of tree graphs, because trees are not great for handling Observer relationships. Dirty bits are used to check if the node was updated during current pass.


My question. It is very interesting to build scene graph classification. Scene graph concept is too abstract and can be broadly interpreted, that is why it's important to build a classification and basic guides. Which scene graph classification do you know / would you propose?

Please, post one classification per answer.

share|improve this question
1  
This is not CW; even if it was, I expect CW questions to have at least a question mark somewhere in them. – Joe Wreschnig Sep 28 '10 at 14:52
2  
This is a question and answer site. You didn't ask a question. I'm not joking. – Joe Wreschnig Sep 28 '10 at 15:06
2  
@ Joe Wreschnig, your question (gamedev.stackexchange.com/questions/3807/…) does not look like a question either. Downvoted for double standards. – topright Sep 28 '10 at 18:09
2  
Wow what a bunch of babies. Gotta love it when folks stoop to revenge downvoting. /me grows wearier and wearier of this site. This is a terrible question because the answers are too broad, vague, and useless, not because there (wasn't|isn't) a question mark in it. – dash-tom-bang Sep 28 '10 at 22:12
1  
(In case it wasn't obvious, the "at least have a question mark" was a rhetorical flourish. Plenty of shitty non-questions on this site have plenty of question marks.) – Joe Wreschnig Sep 28 '10 at 22:56
show 11 more comments

1 Answer

News flash!

Different people/teams do things differently! My proposal would be to do what works for your game, since any answer is wrong for 90% of games. Any list of methods that people use to construct and maintain their scenes is going to be similarly useless without substantial discussion about the pros and cons of said implementations.

share|improve this answer
Not a classification. – topright Sep 29 '10 at 22:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.