VR JuggLua: A Framework for VR Applications Combining Lua, OpenSceneGraph, and VR Juggler

Thumbnail Image
Pavlik, Ryan
Major Professor
Committee Member
Journal Title
Journal ISSN
Volume Title
Vance, Judy
Professor Emeritus
Research Projects
Organizational Units
Organizational Unit
Mechanical Engineering
The Department of Mechanical Engineering at Iowa State University is where innovation thrives and the impossible is made possible. This is where your passion for problem-solving and hands-on learning can make a real difference in our world. Whether you’re helping improve the environment, creating safer automobiles, or advancing medical technologies, and athletic performance, the Department of Mechanical Engineering gives you the tools and talent to blaze your own trail to an amazing career.
Journal Issue
Is Version Of

A gap exists between virtual reality (VR) software platforms designed for optimum hardware abstraction and cluster support, and those designed for efficient content authoring and exploration of interaction techniques through prototyping. This paper describes VR JuggLua, a high-level virtual reality application framework based on combining Lua, a dynamic, interpreted language designed for embedding and extension, with VR Juggler and OpenSceneGraph. This work allows fully-featured immersive applications to be written entirely in Lua, and also supports the embedding of the Lua engine in C++ applications. Like native C++ VR Juggler applications, VR JuggLua-based applications run successfully on systems ranging from a single desktop machine to a 49-node cluster. The osgLua introspection-based bindings facilitate scenegraph manipulation from Lua code, while bindings created using the Luabind template meta-programming library connect VR Juggler functionality. A thread-safe run buffer allows new Lua code to be passed to the interpreter during run time, supporting interactive creation of scene-graph structures. It has been successfully used in an immersive application implementing two different navigation techniques entirely in Lua and a physically-based virtual assembly simulation where C++ code handles physics computations and Lua code handles all display and configuration.


This is a conference proceeding from Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS) (2012): 29, doi:10.1109/SEARIS.2012.6231166. Posted with permission.

Sun Jan 01 00:00:00 UTC 2012