Scene Graph

Home About XEngine Engine API SceneGraph Changelog Programming Guide


The SceneGraph API is a scene management toolkit for the XEngine renderer. Although in principle it can be easily modified to work as a standalone library, it is designed to operate in par with the XEngine API. The toolkit provides for building dynamic scene graphs and its design makes it easy to expand and provide more elaborate nodes and behaviors. The scene graph is accessed in two ways:

The scene graph essentially consists of a number of collection and leaf nodes, each one instanciating a functional part of a three-dimentional world. The root node of this directed graph is the World3D node. Every node in the hierarchy is derived from the generic Node3D class, which implements all message passing and event processing mechanisms. A major category of subclasses of the Node3D class is the grouping nodes or collections (Group3D). Apart from the essential operation of managing a group of children nodes and passing the operations performed on the scene graph down to them, Group3D-derived node types also provide key functions in the scene graph such as queries by node name and by node type. World3D is a special Group3D node that essentially provides the entry point to the whole of the scene graph and a connection to the underlying rendering system. Upon creation, all nodes maintain reference to the unique World3D instance in the scene graph (protected member World3D *world) and their parent node (protected member Node3D * parent).

The tag format of the scene files is described in detail below in the SceneGraph scene description language.

The minimum set of node types in the scene graph are:

Scene Graph Node Types

Please follow the links below to view each node's API functions as well as its XML specification:

Last updated: 31 May. 2013