A System Architecture for Flexible Rendering Back-ends in Distributed Virtual Reality Applications

We describe an approach to integrate multiple rendering back-ends under a common application layer for distributed systems. The primary goal was to find a practical and non-intrusive way to use potentially very different rendering back-ends in heterogeneous computing environments without impairing their strengths and without burdening the back-ends or the application with details of the cluster environment. Our approach is based on a mediator layer that can be plugged into the OpenSG infrastructure. This design allows us to elegantly extent OpenSG's low-level multithreading and clustering capabilities to our system. It also allows us to sync incremental changes very efficiently. We demonstrate results and problems with two case studies.

[1]  Bernd Hamann,et al.  A survey and performance analysis of software platforms for interactive cluster-based multi-screen rendering , 2003, IPT/EGVE.

[2]  Patrick Dähne,et al.  Utilizing X3D for immersive environments , 2004, Web3D '04.

[3]  Thomas Ertl,et al.  PaTraCo: A Framework Enabling the Transparent and Efficient Programming of Heterogeneous Compute Networks , 2010, EGPGV@Eurographics.

[4]  Philipp Slusallek,et al.  RTSG: ray tracing for X3D via a flexible rendering framework , 2009, Web3D '09.

[5]  Greg Humphreys,et al.  Physically Based Rendering: From Theory to Implementation , 2004 .

[6]  Jérémie Allard,et al.  FlowVR: A Framework For Distributed Virtual Reality Applications , 2006 .

[7]  Gerrit Voss,et al.  Towards a flexible back-end for scenegraph-based rendering systems , 2006, GRAPHITE '06.

[8]  Thierry Duval,et al.  Scene graph adapter: an efficient architecture to improve interoperability between 3D formats and 3D applications engines , 2011, Web3D '11.

[9]  Timo Ropinski,et al.  A generic virtual reality software system's architecture and application , 2005, ICAT '05.

[10]  David K. McAllister,et al.  OptiX: a general purpose ray tracing engine , 2010, ACM Trans. Graph..

[11]  G. Voss,et al.  OpenSG: Basic Concepts , 2002 .

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

[13]  Thierry Duval,et al.  PAC-C3D: A New Software Architectural Model for Designing 3D Collaborative Virtual Environments , 2011 .

[14]  Beat D. Brüderlin,et al.  Interviews3D: A Platform for Interactive Handling of Massive Data Sets , 2007, IEEE Computer Graphics and Applications.

[15]  Klaus H. Hinrichs,et al.  A Generic Rendering System , 2002, IEEE Trans. Vis. Comput. Graph..

[16]  Philipp Slusallek,et al.  DRONE: A Flexible Framework for Distributed Rendering and Display , 2009, ISVC.