1. A computer program embodied on an electronic medium, wherein the computer program is configured to: create a scene graph by: adding one or more objects to a hierarchy by defining parent-child relationships for the one or more objects; generate a parallel representation of the scene graph by: determining whether a data structure corresponding to the one or more object types already exist; if a corresponding data structure does not already exist, create a new data structure corresponding to the type of object; if a corresponding data structure does already exist, create a new entry in the corresponding data structure; create at least one thread configured to process each data structure; and render the scene graph by executing at least a subset of the threads.