FreeVR: Tutorials Downloads
FreeVR: Tutorials Downloads
February 29, 2024 for FreeVR Version 0.7e
Written by Bill Sherman
Introduction
This guide is a supplement to the
FreeVR Application Development Guide.
It provides example programs in how to interface the OpenGL and
OpenSceneGraph (OSG)
graphics systems into FreeVR virtual reality experiences.
Each graphics library has an independent line of tutorials,
with many parallel examples between them.
Each tutorial begins
with a non-VR example of how the library would
be used, and then after switching to use of the FreeVR API,
build increasingly complex worlds and interfaces — though
the worlds tend to remain fairly simple throughout.
Additional tutorials that cover interfacing with
the OpenSceneGraph (OSG) library,
the Open Dynamics Engine (ODE) physics library,
among others, are currently under refinement, and
will be available in mid 2024.
Tutorial Outline
The tutorials come with HTML documents that step through each of
the examples.
However, to get a flavor of what they contain, here is the
overall outline of the example progressions:
OpenGL
- example 0: a simple virtual world in X-windows
- example 0-glut: a simple virtual world in X-windows using GLUT
- example 0-sdl: a simple virtual world in X-windows using SDL
- example 1: a bare essentials FreeVR application
- example 2: adding some civility to the program style
- example 3: adding action to the virtual world
- example 4: adds basic button input controls
- example 5: adds basic joystick input controls
- example 6: rendering 2D text in the virtual world
- example 7: rendering a pointer in a tracked coordinate system
- example 7b: rendering multiple pointers
- example 8: adding simple user-controlled behaviors to objects in the world
- example 9: selecting objects in the virtual world via contact
- example 10: manipulating objects in the virtual world
- example 11: using locks to safeguard the interactions
- example 12: travelling through the virtual world
- example 12a: using a point-to-walk travel interface
- example 12b: using a move-the-world travel interface
- example 12c: using a grab-the-world travel interface
- example 12d: using a scale-the-world travel interface
- example 13: using the socket controls for an alternate form of interaction with the virtual world
- example 14a: interfacing with virtual button inputs
- example 14b: interfacing with virtual slider inputs
- example 14c: interfacing with virtual lever inputs
- example 14d: interfacing with virtual radio button inputs
- example 14e: interfacing with virtual joystick inputs
- example 14f: interfacing with virtual push button inputs
- example 15: the four methods of manipulation (not currently included)
- example 16: putting 3D text into the virtual world
- example 17: adding texture to an object
- example 18: adding cylindrical and spherical billboarding
- example 19: adding a world-in-miniature (WIM) interface
- example 20: using clipping planes in the virtual world
- example 21: moving a light within the scene
OSG (nee SGI Performer)
[NOTE: The transition from SGI Performer to OpenSceneGraph has not yet been
completed, so these are not presently available. (If you're desperate for them,
let me know!]
- example 0: a simple virtual world in basic Performer
- example 0a: the simple virtual world with multiple windows
- example 1: the bare minimum application using FreeVR
- example 2: a civilized, but basic, world using FreeVR
- example 3: adding action to the virtual world
- example 4: rendering in a tracked coordinate system
- example 5: selecting objects in the virtual world
- example 6: manipulating objects in the virtual world
- example 7: travelling through the virtual world
- example 8: using traversal callbacks to handle behavior and interactions
- example 9: adding a World-in-Miniature (WIM) to the scenegraph
- example 10: doing intersection testing
- example 11: scenegraph debugging
- example 12: creating alternate geometries
Downloading the Tutorials
The tutorials are available here for download.
While source and Makefiles are provided, the tutorials,
unlike the library, are not strictly open-source.
Specifically, republishing of the tutorials in any
form, modified or unmodified, is prohibited.
All other rights are also reserved by the copyright
holder (William R. Sherman).
That said, you are encouraged to download and compile them,
and learn how to make your own VR experiences from them.
© Copyright William R. Sherman, 2024.