intro — Introduction to FreeVR user commands
Section 1 of the FreeVR manual describes user commands and tools such as sample virtual reality applications, input device test programs and utilities to reverse engineer serial and socket protocols. Combined, these programs are useful for setting up, configuring and even operating a virtual reality system.
Visit the manpages of Section 3 for developer API documentation.
Other manpages can be found in Section 7, and in particular, to learn how to operate FreeVR in simulator mode, view the freevr(7fv) manpage.
FreeVR is an open-source application programming interface (API) for interfacing with virtual reality (VR) input/output hardware, including both CAVE-style and HMD-style (headset) displays. FreeVR applications are not written for any particular VR display, but conform to any individual system at run-time based on a flexible configuration specification.FreeVR immersive experiences include artistic worlds, fun worlds as well as data visualization worlds. The type and style of virtual world can be whatever the application developer can produce.
Applications
Two virtual reality applications are included with the FreeVR distribution: "travel" and "inputs".The "travel" application is a mostly constant world filled with colorful boxes and pyramids. A single white-pyramid has been placed in the navigable virtual world, and thus allows the user to travel relative to that one object using the joystick. All the other objects are placed in the real-world (and therefore don't actually travel), but are positioned in strategically interesting locations for testing inside a CAVE or other virtual reality display.
The "inputs" application simply gives a live presentation of all the inputs received by the configured virtual reality system. This alone has great value, but "inputs" also serves well as an input server/repeater. Indeed, when acting as a server/repeater, "inputs" is useful to run in simulator mode -- see the freevr(7fv) manpage for instructions on using the simulator mode.
Utilities
Two utilities designed to evaluate communications between input and other devices either through serial port or socket connections are the serialspy and socketspy tools respectively. Communications are represented in hexadecimal and ASCII output to help decipher the, frequently unique, protocols. Each tool has its own manpage.One other utility is the "fvri.tcl" tool. The "fvri.tcl" program provides a GUI interface to a running FreeVR application to analyze and optionally modify the parameters of the application. It uses a TCL language interpreter along with the TK window interface to run.
Test programs
Each FreeVR input type has an associated "test" application that can be used to verify a working connection with the inputs (both for input devices and input daemons). Each input testing tool has its own manpage. There are also test programs for specific areas of FreeVR operation.
inputs(1fv), travel(1fv), dtracktest(1fv), joytest(1fv), eviotest(1fv), vrpntest(1fv), vruiddtest(1fv), fobtest(1fv), socketspy(1fv), serialspy(1fv), freevrrc(5FV), and freevr(7fv).
Additional documentation is available at the FreeVR web site:
- http://www.freevr.org
Here is a citation to use when citing FreeVR:
- William R. Sherman, Daniel S. Coming, Simon Su, “FreeVR: Honoring the past, Looking to the future”, In IS&T/SPIE Electronic Imaging. International Society for Optics and Photonics (SPIE), 2013.
Copyright 2022, Bill Sherman, All rights reserved.