Sponsored by: Magnetar Games

Structure Graph

The structure graph is the main component of the scene graph. The structure graph organizes the scene and all of the entities, functions and behaviours in it. Structure graph templates are provided for various project types, that identify the logical structure graph for that type of game or simulation.

The structure graph is the core of the Magnetar Extensible Scene Graph (XSG). Structure graphs are made up of structure nodes which are linked in a hierarchical tree organized as a DAG. Entities, behaviours, and functions can be attached to these structure nodes to create the scene. The structure graph organizes the content of a scene based on the proximity of objects in the scene. In other words, entities that are found near each other will be attached to the same node or to closely related nodes on the structure graph.

Each language has a data representation model (DRM) presented as a metagraph that describes how to build the structure graph, that is, how to organise the content when working with the language. A library of structure graph templates provide examples of the structure graph in use.

The structure graph is a core set of code that can be extended by adding new nodes. This method allows you extend the scene graph without having to change the core code, making it easier to extend the scene graph. The structure graph is kept as simple as possible, so that traversal can occur quickly.  Applications concerns, like functions, have been removed from the structure graph, so that they do not need to impact the way the graph is traversed.

Structure Graph Templates

Structure graph templates are basic structure graphs that can be used to build games and simulations.  Structure graph templates provide you with a backbone on which you can build your games and simulations.  There are a few different structure graph templates available, with each template indicating the type of project for which they are most suitable.

You can build your project by attaching entities and functions directly to the template, or you can modify the template to handle any extras you may need, and proceed from there. Because structure graphs are extensible, you can find a template that closely matches your needs, then modify the features until it suits your purpose.

The templates provide a useful example for people who want to understand the metagraph for the scene graph. They are a full working example of the scene graph, that are structured using the metagraph.