Moka: Designing a Simple Scene Graph Library for Cluster-Based Virtual Reality Systems

  • Andrea Salvadori
  • Andrea Brogni
  • Giordano Mancini
  • Vincenzo Barone
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8853)


Clusters of PCs are widely employed in multi-screen immersive virtual reality systems. While this allows reducing the realization costs, it leds to an increase of complexity on the software side, since they require the development of distributed applications. Over the years, many frameworks supporting cluster rendering have been proposed, but none has established itself as the de-facto standard for immersive virtual reality application development. A new trend that is taking place consists in adding cluster-rendering support to one of the many freely available 3D engines. In this paper, we propose a convenient method to develop a lightweight distributed scene graph on top of a generic graphics engine. In particular, we describe the main mechanisms and design choices behind “Moka”, a library for the development for cluster-based virtual reality applications. We also present “Caffeine”, a virtual reality molecular visualizer based on the Moka library.


Virtual reality  Cluster-based rendering Molecular visualization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cruz-Neira, C., Sandin, D.J., DeFanti, T.A.: Surround-screen Projection-based Virtual Reality: The Design and Implementation of the CAVE. In: Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques, pp. 135–142. ACM, New York (1993)Google Scholar
  2. 2.
    Steed, A., Oliveira, M.F.: Networked Graphics: Building Networked Games and Virtual Environments. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2009)Google Scholar
  3. 3.
    Humphreys, G., Houston, M., Ng, R., Frank, R., Ahern, S., Kirchner, P.D., Klosowski, J.T.: Chromium: A Stream-processing Framework for Interactive Rendering on Clusters. In: Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 693–702. ACM, New York (2002)Google Scholar
  4. 4.
    Raffin, B., Soares, L., Ni, T., Ball, R., Schmidt, G.S., Livingston, M.A., Staadt, O.G., May, R.: PC Clusters for Virtual Reality. In: Virtual Reality Conference, pp. 215–222 (2006)Google Scholar
  5. 5.
    Guimarães, M.P., Bressan, P.A., Zuffo, M.K.: Frame lock synchronization for multiprojection immersive environments based on pc graphics clusters. In: Proocedings of the 5th SBC Symposium on Virtual Reality (2002)Google Scholar
  6. 6.
  7. 7.
  8. 8.
    Internet Communications Engine (Ice).
  9. 9.
  10. 10.
    Bierbaum, A., Just, C., Hartling, P., Meinert, K., Baker, A., Cruz-Neira, C.: VR Juggler: a virtual platform for virtual reality application development. In: 2001 Proceedings of the IEEE Virtual Reality, pp. 89–96 (2001)Google Scholar
  11. 11.
    Allard, J., Gouranton, V., Lecointre, L., Melin, E., Raffin, B.: Net Juggler and SoftGenLock: Running VR Juggler with Active Stereo and Multiple Displays on a Commodity Component Cluster. In: Proceeding of IEEE Virtual Reality Conference 2002, pp. 273–274 (2002)Google Scholar
  12. 12.
    Bierbaum, Aron, Hartling, Patrick, Morillo, Pedro, Cruz-Neira, Carolina: Implementing Immersive Clustering with VR Juggler. In: Gervasi, Osvaldo, Gavrilova, Marina L., Kumar, Vipin, Laganá, Antonio, Lee, Heow Pueh, Mun, Youngsong, Taniar, David, Tan, Chih Jeng Kenneth (eds.) ICCSA 2005. LNCS, vol. 3482, pp. 1119–1128. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    VR Juggler: The Programmer’s Guide - Version 3.0.
  14. 14.
    Humphreys, G., Eldridge, M., Buck, I., Stoll, G., Everett, M., Hanrahan, P.: WireGL: A Scalable Graphics System for Clusters. In: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, pp. 129–140. ACM, New York (2001)Google Scholar
  15. 15.
    Carrozzino, M., Tecchia, F., Bacinelli, S., Cappelletti, C., Bergamasco, M.: Lowering the Development Time of Multimodal Interactive Application: The Real-life Experience of the XVR Project. In: Proceedings of the 2005 ACM SIGCHI International Conference on Advances in Computer Entertainment Technology, pp. 270–273. ACM, New York (2005)Google Scholar
  16. 16.
    Hesina, G., Schmalstieg, D., Furhmann, A., Purgathofer, W.: Distributed Open Inventor: A Practical Approach to Distributed 3D Graphics. In: Proceedings of the ACM Symposium on Virtual Reality Software and Technology. pp. 74–81. ACM, New York (1999)Google Scholar
  17. 17.
    Kuck, R., Wind, J., Riege, K., Bogen, M.: Improving the AVANGO VR/AR Framework - Lessons Learned. Virtuelle und Erweiterte Realität, 209–220 (2008)Google Scholar
  18. 18.
    Reiners, D.: OpenSG: A scene graph system for flexible and efficient realtime rendering for virtual and augmented reality applications (2002)Google Scholar
  19. 19.
    Roth, M., Voss, G., Reiners, D.: Multi-threading and clustering for scene graph systems. Computers & Graphics. 28, 63–66 (2004)CrossRefGoogle Scholar
  20. 20.
    Schaeffer, B., Goudeseune, C.: Syzygy: native PC cluster VR. In: 2003 Proceedings of the IEEE Virtual Reality, pp. 15–22 (2003)Google Scholar
  21. 21.
    UNIGINE Corp.: Unigine Engine.
  22. 22.
    i’m in VR: MiddleVR for Unity.
  23. 23.
    Unity Technologies: Unity.
  24. 24.
    OpenSceneGraph. Version 3.1.
  25. 25.
    OGRE (Object-Oriented Graphics Rendering Engine).
  26. 26.
    Oculus VR Inc.: Oculus Rift - Virtual Reality Headset for 3D Gaming.
  27. 27.
  28. 28.
    Salzman, L.: ENet Reliable UDP networking libraryGoogle Scholar
  29. 29.
    G-Truc Creation: OpenGL Mathematics (GLM).
  30. 30.
  31. 31.
    Kooima, R.: Generalized Perspective Projection (2008).
  32. 32.
    Tanaka, H., Kato, K., Yamashita, E., Sumizawa, T., Zhou, Y., Yao, M., Iwasaki, K., Yoshimura, M., Tsukihara, T.: The Structure of Rat Liver Vault at 3.5 Angstrom Resolution. Science 323, 384–388 (2009)CrossRefGoogle Scholar
  33. 33.
    Toledo, R., Levy, B.: Extending the graphic pipeline with new GPU-accelerated primitives. In: 24th International gOcad Meeting, Nancy, France (2004)Google Scholar
  34. 34.
    Sigg, C., Weyrich, T., Botsch, M., Gross, M.: GPU-based ray-casting of quadratic surfaces. In: Proceedings of the 3rd Eurographics/IEEE VGTC Conference on Point-Based Graphics, pp. 59–65. Eurographics Association (2006)Google Scholar
  35. 35.
    Tarini, M., Cignoni, P., Montani, C.: Ambient Occlusion and Edge Cueing for Enhancing Real Time Molecular Visualization. IEEE Transactions on Visualization and Computer Graphics 12, 1237–1244 (2006)CrossRefGoogle Scholar
  36. 36.
    Chavent, M., Vanel, A., Tek, A., Levy, B., Robert, S., Raffin, B., Baaden, M.: GPU-accelerated atom and dynamic bond visualization using hyperballs: A unified algorithm for balls, sticks, and hyperboloids. Journal of Computational Chemistry 32, 2924–2935 (2011)CrossRefGoogle Scholar
  37. 37.
    Bagur, P.D., Shivashankar, N., Natarajan, V.: Improved Quadric Surface Impostors for Large Bio-molecular Visualization. In: Proceedings of the Eighth Indian Conference on Computer Vision, Graphics and Image Processing, pp. 33:1–33:8. ACM, New York (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Andrea Salvadori
    • 1
  • Andrea Brogni
    • 1
  • Giordano Mancini
    • 1
  • Vincenzo Barone
    • 1
  1. 1.Scuola Normale SuperiorePisaItaly

Personalised recommendations