What's not complete about the scenegraph?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Here's a partial list:

      1. More advanced object culling - such as portals.
      2. Support for heirarchical articulated objects such as vehicles or human characters.
      3. Support for a progammable pipeline (vertex and pixel shaders).
      4. It needs a scene graph analysis/optimization tool - commercial engines like Renderware have this, and it is really important for diagnosing problems.
      5. Support for lights (ambient, directional, point, spot, etc.)
      6. Support for render surfaces and multiple cameras
      7. Support for streaming.
      8. Support for object instancing (one copy of an object's geometry and textures even though many can be seen).
      9. Suppoort for importing meshes and animation data directly from commercial packages like 3DStudio Max and Maya.
      10. Support for a texture library - if multiple objects use the same texture it shouldn't exist in memory more than once.
      11. Terrain support.

      That's all that I can think of now, but believe me there's more.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • Many of the basic things listed above are discussed elsewhere in the book. It's more or less a matter of cleverly integrating them together to form a more complete system. It really depends on what you want to do with it.

      It's good to see that I'm not the only person out there who is learning a lot from this book.

      One thing that doesn't seem to be mentioned much is animation. Really, the whole controller system seems like it could be made much more robust and flexible. It's pretty flexible and could be adapted to handle things like AI and physics, running them all through a numerical integrator (i.e. Euler, Runge-Kutta, etc.). There's plenty there to experiment with.

      The great thing about this book is that it goes really well on top of a stack of about four or five other books on more specialized topics like AI, rendering algorithms, shader programming, object-oriented design, etc. Much of the code is loosely coupled enough that it isn't much trouble to just drop in more advanced code where it's needed.

      Have fun and good luck!
      Tom
    • Originally posted by BlackPhoenix
      The great thing about this book is that it goes really well on top of a stack of about four or five other books on more specialized topics like AI, rendering algorithms, shader programming, object-oriented design, etc. Much of the code is loosely coupled enough that it isn't much trouble to just drop in more advanced code where it's needed.
      Yeah, that's it! Perfect! With a bit of tweaking that would make a good blurb if you just wanted to get across the idea behind the book.
    • The funniest thing about the code in the book is that lots of people tell me it is too advanced and another set of people tell me it is too basic.

      I guess I hit a sweet spot then...
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • To be fair, the back of the book does say "User Level: Intermediate to Advanced". One of my problems with a lot of game programming books I have is that they don't really get into many advanced topics. They give you just enough to animate a few sprites across the screen. That's great for beginners, but I want to get more into the architecture of a real game and see what's really going on under the covers.

      That's what I love about this book - the first good chunk is devoted to architecture. There are also a lot of advanced topics (like scripting, resource management, debugging, etc.) that are pretty scarce everywhere else.

      My only complaint is that I wish Mike had more pages so he could have gone a bit deeper into some of the topics. One of my favorite chapters is Chapter 3 where he gives you some of the tools he's developed over the years. I would have loved to see that chapter expanded. Game Coding Complete 3rd edition will have no less than 1500 pages. ;)