Viz - Scene Graph - Graphical World (Tree Data Structure)

1 - About

A scene graph is a collection of nodes in a tree structure.

It's equivalent to a document in xml

The node of the tree are:

On each node in the tree (parent or leaf), a geometrical transformation (translation, rotation,...) can be applied (excepted on a layer). An operation performed on a parent automatically propagates its effect to all of its child..

3 - Implementation

3.1 - Data Structure

  • array
  • or linked list

3.2 - Transformation

A transformation would accumulate its transformation by:

  • quaternions (Complex Number vector representation)
  • or Euler angles.

3.3 - Rendering

A traversal of the scene will send graphical operation to an rendering engine, such as:

  • DirectX
  • OpenGL (
  • Web GL (3D, 2D graphics rendering within any compatible web browser)
  • PDF, PS (?)


  • in 2D, the Painter's algorithm: start at the root and then recursively draw the child nodes. The tree's leaves represent the most foreground objects. Drawing proceeds then from back to front (closer objects overwrite farther ones).
  • In 3D, depth buffers, draw the closest objects first, farther may not be rendered as they are occluded by nearer objects.

3.4 - Specification

4 - Documentation / Reference

data/viz/scene.txt ยท Last modified: 2017/12/03 17:56 by gerardnico