1. A method for rendering graphics data, the method comprising: receiving a scene graph, wherein the scene graph comprises a hierarchical group of objects; generating a plurality of data structures, wherein each data structure corresponds to a particular type of object in the scene graph; creating at least one thread that operates on each data structure, wherein at least a subset of the threads are configured to generate messages to communicate state changes to one or more of the data structures; and creating at least one render molecule, wherein the render molecule comprises two or more objects that have at least one common attribute.