Separating semantics from rendering: a scene graph based architecture for graphics applications

A large number of rendering and graphics applications developed in research and industry are based on scene graphs. Traditionally, scene graphs encapsulate the hierarchical structure of a complete 3D scene, and combine both semantic and rendering aspects. In this paper, we propose a clean separation of the semantic and rendering parts of the scene graph. This leads to a generally applicable architecture for graphics applications that is loosely based on the well-known Model-View-Controller (MVC) design pattern for separating the user interface and computation parts of an application. We explore the benefits of this new design for various rendering and modeling tasks, such as rendering dynamic scenes, out-of-core rendering of large scenes, generation of geometry for trees and vegetation, and multi-view rendering. Finally, we show some of the implementation details that have been solved in the process of using this software architecture in a large framework for rapid development of visualization and rendering applications.

[1]  Timothy S. Miller,et al.  Scene‐Graph‐As‐Bus: Collaboration between Heterogeneous Stand‐alone 3‐D Graphical Applications , 2000, Comput. Graph. Forum.

[2]  Dieter Schmalstieg,et al.  Flexible parametrization of scene graphs , 2005, IEEE Proceedings. VR 2005. Virtual Reality, 2005..

[3]  Dieter Schmalstieg,et al.  Generating Semantic 3D Models of Underground Infrastructure , 2008, IEEE Computer Graphics and Applications.

[4]  Robert A. Ellis,et al.  Proceedings of the 11th annual conference on Computer graphics and interactive techniques , 1984, SIGGRAPH.

[5]  Don Burns,et al.  Open Scene Graph A: Introduction, B: Examples and Applications , 2004 .

[6]  Robert L. Cook,et al.  Shade trees , 1984, SIGGRAPH.

[7]  Taku Komura,et al.  Topology matching for fully automatic similarity estimation of 3D shapes , 2001, SIGGRAPH.

[8]  Paul S. Strauss,et al.  An object-oriented 3D graphics toolkit , 1992, SIGGRAPH.

[9]  Josie Wernecke,et al.  The inventor mentor - programming object-oriented 3D graphics with Open Inventor, release 2 , 1993 .

[10]  Mark Steedman,et al.  Animated conversation: rule-based generation of facial expression, gesture & spoken intonation for multiple conversational agents , 1994, SIGGRAPH.

[11]  Gerrit Voss,et al.  A multi-thread safe foundation for scene graphs and its extension to clusters , 2002, EGPGV.

[12]  L. Peter Deutsch,et al.  Efficient implementation of the smalltalk-80 system , 1984, POPL.

[13]  John Rohlf,et al.  IRIS performer: a high performance multiprocessing toolkit for real-time 3D graphics , 1994, SIGGRAPH.

[14]  R. Osfield,et al.  Tutorial: Open scene graph A: introduction tutorial: Open scene graph B: examples and applications , 2004, IEEE Virtual Reality 2004.

[15]  Christoph Traxler,et al.  Representation and realistic rendering of natural phenomena with cyclic CSG graphs , 1996, The Visual Computer.

[16]  Oliver Deussen,et al.  A Modelling Method and User Interface for Creating Plants , 1997, Comput. Graph. Forum.

[17]  Dieter Schmalstieg,et al.  Modeling and rendering of outdoor scenes for distributed virtual environments , 1997, VRST '97.