Scene Graph - Scene Graphs in Games and 3D Applications

Scene Graphs in Games and 3D Applications

Scene graphs are useful for modern games using 3D graphics and increasingly large worlds or levels. In such applications, nodes in a scene graph (generally) represent entities or objects in the scene.

For instance, a game might define a logical relationship between a knight and a horse so that the knight is considered an extension to the horse. The scene graph would have a 'horse' node with a 'knight' node attached to it.

As well as describing the logical relationship, the scene graph may also describe the spatial relationship of the various entities: the knight moves through 3D space as the horse moves.

In these large applications, memory requirements are major considerations when designing a scene graph. For this reason, many large scene graph systems use instancing to reduce memory costs and increase speed. In our example above, each knight is a separate scene node, but the graphical representation of the knight (made up of a 3D mesh, textures, materials and shaders) is instanced. This means that only a single copy of the data is kept, which is then referenced by any 'knight' nodes in the scene graph. This allows a reduced memory budget and increased speed, since when a new knight node is created, the appearance data does not need to be duplicated.

Read more about this topic:  Scene Graph

Famous quotes containing the words scene and/or games:

    This fantastic state of mind, of a humanity that has outrun its ideas, is matched by a political scene in the grotesque style, with Salvation Army methods, hallelujahs and bell-ringing and dervishlike repetition of monotonous catchwords, until everybody foams at the mouth. Fanaticism turns into a means of salvation, enthusiasm into epileptic ecstacy, politics becomes an opiate for the masses, a proletarian eschatology; and reason veils her face.
    Thomas Mann (1875–1955)

    The rules of drinking games are taken more serious than the rules of war.
    Chinese proverb.