Abstract
This study explores the possibility of effectively using web-standard technologies (i.e., HTML5, JavaScript, WebGL, and WebRTC) to deploy full immersive and interactive virtual reality applications. These applications are based on computer clusters and run in multi-projection environments, such as CAVEs, Panoramas and Power Walls. Until recently, these applications were build using tailored solutions, such low-level libraries to distribute data. We discuss the modern-day web technology which allows these applications meet a multi-platform requirement. This paper also evaluates the communication and synchronization requirements of these applications that are traditionally the main bottleneck. As a proof-of-concept to show the feasibility of our study, we devised and implemented an immersive and interactive virtual reality application employing only web technologies. Our proof-of-concept runs on a miniCAVE environment with three displays and a 6-node cluster.
Similar content being viewed by others
References
Abbasi A, Baroudi U (2012) Immersive environment: an emerging future of telecommunications. IEEE MultiMed 19(1):80. doi:10.1109/MMUL.2012.7
Anthes C, Haffegee A, Heinzlreiter P, Volkert J (2005) A scalable network architecture for closely coupled collaboration. Computing and Informatics 24(1):31–51, http://www.cai.sk/ojs/index.php/cai/article/viewArticle/365
Bergkvist A, B.D.C.J.C..N.A. (2015): Webrtc 1.0: Real-time communication between browsers:w3c editor’s draft. URL http://w3c.github.io/webrtc-pc/C
Boukerche A, Shirmohammadi S, Hossain A (2006) Moderating simulation lag in haptic virtual environments. In: Simulation Symposium, 2006. 39th Annual, pp. 269–277. doi: 10.1109/ANSS.2006.31
Bues M, Blach R, Stegmaier S, H¨afner U, Hoffmann H, Haselberger F (2001) Towards a scalable high performance application platform for immersive virtual environments. In: Proceedings of the 7th Eurographics Conference on Virtual Environments & 5th Immersive Projection Technology, EGVE’01, pp. 165–174. Eurographics Association, Aire-la-Ville, Switzerland, Switzerland (2001). doi: 10.2312/EGVE/EGVE01/165-174
Chen L (2005) Effects of network characteristics on task performance in a desktop cve system. In: Advanced information networking and applications, 2005. AINA 2005. 19th International Conference on, vol. 1, pp. 821–826vol.1 (2005). doi: 10.1109/AINA.2005.171
Cruz-Neira C, Sandin DJ, DeFanti TA, Kenyon RV, Hart JC (1992) The cave: audio visual experience automatic virtual environment. Commun ACM 35:64–72. doi:10.1145/129888.129892
Danchilla B (2012) Beginning WebGL for HTML5, 1st edn. Apress, Berkely
DeFanti TA, Leigh J, Renambot L, Jeong B, Verlo A, Long L, Brown M, Sandin DJ, Vishwanath V, Liu Q, Katz MJ, Papadopoulos P, Keefe JP, Hidley GR, Dawe GL, Kaufman I, Glogowski B, Doerr KU, Singh R, Girado J, Schulze JP, Kuester F, Smarr L (2009) The optiportal, a scalable visualization, storage, and computing interface device for the optiputer. Futur Gener Comput Syst 25(2):114–123. doi:10.1016/j.future.2008.06.016, http://www.sciencedirect.com/science/article
Drolet F, Mokhtari M, Bernier F, Laurendeau D (2009) A software architecture for sharing distributed virtual worlds. In: Virtual Reality Conference, 2009. VR 2009. IEEE, pp. 271–272 (2009). doi: 10.1109/VR.2009.4811050
Finkelstein S, Suma EA (2011) Astrojumper: motivating exercise with an immersive virtual reality exergame. Presence: Teleoper. Virtual Environ 20(1):78–92. doi:10.1162/pres_a_00036
Gnecco BB, de Paiva Guimaraes M, Zuffo MK (2003) Um framework para computação distribuída. In: Simpósio Brasileiro de Realidade Virtual. SBC, Ribeirão Preto
Guimaraes MP (2004) Um ambiente para o desenvolvimento de aplicações de realidade virtual baseadas em aglomerados gráficos. Ph.D. thesis, Universidade de São Paulo
Hall D (2013) Ansible configuration management. Packt Publishing
Hemminger S: Network emulation with netem
Hendrix V, Benjamin D, Yao Y (2012) Scientific cluster deployment and recovery using puppet to simplify cluster management. Journal of Physics: Conference Series 396(4), 042,027 (2012). URL http://stacks.iop.org/1742-6596/396/i=4/a=042027
Humphreys G, Eldridge M, Buck I, Stoll G, Everett M, Hanrahan P (2001) Wiregl: a scalable graphics system for clusters. In: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH’01, pp. 129–140. ACM, New York, NY, USA (2001). doi: 10.1145/383259.383272
Humphreys G, Houston M, Ng R, Frank R, Ahern S, Kirchner PD, Klosowski JT (2002) Chromium: a stream-processing framework for interactive rendering on clusters. ACM Trans Graph 21(3):693–702. doi:10.1145/566654.566639
Isakovic K, Dudziak T, K¨ochy K (2002) X-rooms. In: Proceedings of the Seventh International Conference on 3D Web Technology, Web3D’02, pp. 173– 177. ACM, New York, NY, USA (2002). doi: 10.1145/504502.504530
Jackson S (2015) Unity 3D UI essentials. Packt Publishing
Jamsa K (2013) Introduction to web development using HTML 5. Jones and Bartlett Publishers, Inc., USA
Kemeny A (2014) From driving simulation to virtual reality. In: Proceedings of the 2014 Virtual Reality International Conference, VRIC’14, pp. 32:1–32:5. ACM, New York, NY, USA (2014). doi: 10.1145/2617841.2620721
Kerger F (2010) OGRE 3D 1.7 Beginner’s guide. Packt Publishing
Kuhlen TW, Hentschel B (2014) Quo vadis cave: does immersive visualization still matter? IEEE Comput Graph Appl 34(5):14–21. doi:10.1109/MCG.2014.97
Kuntz S (2015) Middlevr a generic vr toolbox. In: 2015 I.E. Virtual Reality (VR), pp. 391–392 (2015). doi: 10.1109/VR.2015.7223460
Li M, Buchthal S (2012) Advisory services in the virtual world: an empowerment perspective 12(1), 53–96. doi: 10.1007/s10660-012-9088-6
Lv Z, Li X, Zhang B, Wang W, Zhu Y, Hu J, Feng S (2016) Managing big city information based on webvrgis. IEEE Access 4:407–415. doi:10.1109/ACCESS.2016.2517076
Lv Z, Yin T, Song H, Chen G (2016) Virtual reality smart city based on webvrgis. IEEE Internet Things J PP(99):1. doi:10.1109/JIOT.2016.2546307
Molnar S, Cox M, Ellsworth D, Fuchs H (1994) A sorting classification of parallel rendering. IEEE Comput Graph Appl 14(4):23–32. doi:10.1109/38.291528
Moreau G (2013) Visual immersion issues in virtual reality: a survey. In: Proceedings of the 2013 26th Conference on Graphics, Patterns and Images Tutorials, SIBGRAPIT’13, pp. 6–14. IEEE Computer Society, Washington, DC, USA (2013). doi: 10.1109/SIBGRAPI-T.2013.9
Muhanna MA (2015) Virtual reality and the cave. J King Saud Univ Comput Inf Sci 27(3):344–361. doi:10.1016/j.jksuci.2014.03.023
Neto MP, Dias DRC, Trevelin LC, de Paiva Guimar˜aes M, Brega JRF (2015) Unity cluster package – dragging and dropping components for multi-projection virtual reality applications based on PC clusters. Springer International Publishing, Cham, pp 261–272. doi:10.1007/978-3-319-21413-919
Pacheco P (2011) An introduction to parallel programming, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco
Pedras BFV, Raposo A, Santos IHF (2013) Apprc: a framework for integrating mobile communication to virtual reality applications. In: Proceedings of the 12th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and Its Applications in Industry, VRCAI’13, pp. 305–308. ACM, New York, NY, USA (2013). doi: 10.1145/2534329.2534374
Schaeffer B, Goudeseune C (2003) Syzygy: native pc cluster vr. In: Virtual reality, 2003. Proceedings. IEEE, pp. 15–22 (2003). doi 10.1109/VR.2003.1191116
Sgi graphics cluster (2001). URL https://www.siliconbunny.com/mirrors/www.sgi.com/products/legacy/pdf/architecture.pdf
Soares LP, Zuffo MK (2004) Jinx: An x3d browser for vr immersive simulation based on clusters of commodity computers. In: Proceedings of the Ninth International Conference on 3D Web Technology, Web3D’04, pp. 79–86. ACM, New York, NY, USA (2004). doi: 10.1145/985040.985052
Steinbach E, Hirche S, Kammerl J, Vittorias I, Chaudhari R (2011) Haptic data compression and communication. IEEE Signal Process Mag 28(1):87–96. doi:10.1109/MSP.2010.938753
Threejs – javascript 3d library (2015). URL http://threejs.org/
Tiwari D, Solihin Y (2012) Architectural characterization and similarity analysis of sunspider and google’s v8 javascript benchmarks. In: Proceedings of the 2012 I.E. International Symposium on Performance Analysis of Systems & Software, ISPASS’12, pp. 221–232. IEEE Computer Society, Washington, DC, USA (2012). doi: 10.1109/ISPASS.2012.6189228
Vrml loader. http://threejs.org/examples/webgl_loader_vrml.html
Wang Y, Li Z, Zhang W (2011) A fully distributed P2P communications architecture for network virtual environments. In: Wireless Communications, Networking and Mobile Computing (WiCOM), 2011 7th International Conference on, pp. 1–4 (2011). doi: 10.1109/wicom.2011.6040468
You Y, Sung MY (2008) Haptic data transmission based on the prediction and compression. In: Communications, 2008. ICC’08. IEEE International Conference on, pp. 1824–1828 (2008). doi 10.1109/ICC.2008.350
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
(MP4 2293 kb)
Rights and permissions
About this article
Cite this article
de Paiva Guimarães, M., Dias, D.R.C., Mota, J.H. et al. Immersive and interactive virtual reality applications based on 3D web browsers. Multimed Tools Appl 77, 347–361 (2018). https://doi.org/10.1007/s11042-016-4256-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-016-4256-7