Abstract
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.
Similar content being viewed by others
References
Burns, D., Osfield, R.: Open scene graph a: Introduction, b: Examples and applications. In: VR ’04: Proceedings of the IEEE Virtual Reality 2004, Washington, DC, USA, 2004, p. 265. IEEE Computer Society, Los Alamitos (2004)
Bosi, M.: Visualization library. First official version, July 2009. Available from: http://www.visualizationlibrary.com/ (accessed February 11, 2011)
Cook, R.: Shade trees. In: Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques, pp. 223–231. ACM, New York (1984)
Deutsch, L.P., Schiffman, A.M.: Efficient implementation of the smalltalk-80 system. In: POPL ’84: Proceedings of the 11th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, New York, NY, USA, 1984, pp. 297–302. ACM, New York (1984)
Gervautz, M., Traxler, C.: Representation and realistic rendering of natural phenomena with cyclic CSG graphs. Vis. Comput. 12(2), 62–74 (1996)
Kunz, H., Miller, P.: NVIDIA® SceniX™ scene management engine. First official version, 4 Aug. 2009. Available from: http://developer.nvidia.com/object/scenix-home.html (accessed February 11, 2011)
Lintermann, B., Deussen, O.: A modelling method and user interface for creating plants. Comput. Graph. Forum 17(1), 73 (1998)
Mendez, E., Schall, G., Havemann, S., Junghanns, S., Fellner, D., Schmalstieg, D.: Generating semantic 3D models of underground infrastructure. IEEE Comput. Graph. Appl. 28(3), 48–57 (2008)
Reenskaug, T.: Models–views–controllers. XEROX PARC tech. note, 19 Dec. 1979. Available from: http://folk.uio.no/trygver/themes/mvc/mvc-index.html (accessed February 11, 2011)
Rohlf, J., Helman, J.: Iris performer: a high performance multiprocessing toolkit for real-time 3d graphics. In: SIGGRAPH ’94: Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, 1994, pp. 381–394. ACM, New York (1994)
Reitmayr, G., Schmalstieg, D.: Flexible parametrization of scene graphs. In: Virtual Reality Conference, IEEE, pp. 51–58 (2005)
Strauss, P.S., Carey, R.: An object-oriented 3d graphics toolkit. In: SIGGRAPH ’92: Proceedings of the 19th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, 1992, pp. 341–349. ACM, New York (1992)
Streeting, S., et al.: Ogre3d: Object-oriented graphics rendering engine. First official version, Feb. 2005. Available from: http://www.ogre3d.org/wiki/index.php/ (accessed February 11, 2011)
Schmalstieg, D., Gervautz, M.: Modeling and rendering of outdoor scenes for distributed virtual environments. In: VRST ’97: Proceedings of the ACM Symposium on Virtual Reality Software and Technology, New York, NY, USA, 1997, pp. 209–215. ACM, New York (1997)
Voss, G., Behr, J., Reiners, D., Roth, M.: A multi-thread safe foundation for scene graphs and its extension to clusters. In: EGPGV ’02: Proceedings of the Fourth Eurographics Workshop on Parallel Graphics and Visualization, Aire-la-Ville, Switzerland, 2002, pp. 33–37. Eurographics Association, Geneve (2002)
Wernecke, J.: The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor, Release 2. Addison-Wesley, Boston (1993)
Zeleznik, B., Holden, L., Capps, M., Abrams, H., Miller, T.: Scene-graph-as-bus: collaboration between heterogeneous stand-alone 3-d graphical applications. In: Proceedings of Eurographics 2000, p. 200 (2000)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tobler, R.F. Separating semantics from rendering: a scene graph based architecture for graphics applications. Vis Comput 27, 687–695 (2011). https://doi.org/10.1007/s00371-011-0572-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-011-0572-0