Flutterby™! : Scene graph stuff

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Scene graph stuff

2005-01-03 23:49:43.83243+00 by Dan Lyke 2 comments

I've been looking at scene graphs recently. Many of the utilities over at the Virtual Terrain Project use the Open Scene Graph for the sorts of entities which fit nicely in a scene graph (terrain is different, and should be treated as such), and osgCal provides a bridge between that and the character animation tools provided by Cal3d.

And Cal3d has tools for 3d Studio Max, Milkshape and an export script for Blender.

[ related topics: Animation Software Engineering Graphics ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2005-01-04 02:17:09.233556+00 by: Diane Reese

What's a scene graph?

#Comment Re: made: 2005-01-04 15:41:28.048408+00 by: Dan Lyke

The standard representation of scenes in 3d computer graphics is a directed acyclic graph: a series of nodes, each with transform and rotation information (usually as a 4x4 matrix), and either children or (at the leaves) geometry information.

This is scene graph or scene tree.

There are no loops or cycles, although sometimes there are methods for multiple nodes to point to the same subtree for duplicated geometry (This can be a problem because caching things like the inverse of that aforementioned 4x4 matrix, or geometry tesselation that's based on distance from camera, or even rendered bitmaps, is common).

And sometimes people force geometry into a scene graph when they shouldn't, sometimes programmers end up jumping through hoops to maintain the conceptual clarity of that tree when the real underlying structure is dramatically different.

For my case, the dynamic aspects of the scenery, vehicles, people &c. are well represented in such a structure, I'll be using some of the Virtual Terrain Project code for terrain (which can be accessed as a list of elevations on a grid), and I may end up writing my own structures for representing buildings.