FreeVR: Virtual Reality Integration Library
FreeVR
Tutorials
User Guide
Programming
Functions

FreeVR

TUTORIALS

DOWNLOADS

GUIDES
    Administrator
    User
    Programming
    Function List
    Library Dev
    Socket Interface

MAN PAGES


All materials
Copyright © 2024
William R. Sherman

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.