3D Tracking for Blitz3D

Created: August 2004
by Jason Leigh

This page contains a toolkit for enabling 3D tracking (from devices such as the Ascension, Polhemus and Intersense Trackers) in Blitz3D. The diagram below shows how it works. Tracker data read from the TrackerPC (the PC physically connected to the 3-space tracker) via TrackerDaemon is sent to a Linux PC that is normally running Trackd Server. Trackd Server makes the tracking data available for CAVE programs to use. Blitzvars is a CAVE program that reads the tracker data and sends it to the Blitzserver program. Blitzvars is actually a modification of the standard CAVEVars program. Blitzserver will listen for connections from your Blitz3D program and start sending data to the program upon connection.

So here is the sequence of things you need to do to set up and run a test:
  1. Download the library below and unzip it on your Windows PC that will run your Blitz3D program.
  2. Copy the BlitzVars folder to the Linux PC which has the CAVE Trackd server runnning.
  3. Compile BlitzVars and Blitzserver on the Linux PC by typing: make
  4. Run Blitzserver by typing: Blitzserver
  5. Run Blitzvars by typing: Blitzvars localhost
  6. Now on the Windows PC, bring up the Blitz3D demo TRACKED_DEMO.bb and run  it in Blitz3D or compile to a self-contained executeable. When prompted for the tracker's hostname, give it the IP address of the Linux PC that is running the Blitzvars/Blitzserver.
  7. Now, when you wave your wand or move your head with the head tracker on, there should be a change in the scene and the wand in the simulation. Also press 1 to go back into Mono and 2 to go into Stereo.
Note also that there is a second demo: TRACKED_FRAME_STABLE_DEMO.bb. This is essentiallty the same as TRACKED_DEMO except that it also incorporates code to maintain a consistent frame rate regardless of the speed of your computer. This is actually the best place to start to develop your own applications. TRACKED_DEMO was provided because it is an easier body of code to understand.

Also note that the actual library for rendering stereo and for handling the tracking are: BlitzGeoWallStereoLib.bb and BlitzCaveTrackerL:ib.bb respectively. Both of these are bundled into the ZIP file that you download. BlitzGeoWallStereoLib is maintained at this website.

Final Note:  the correlation between the tracking and the stereo computer graphics is not perfect, yet. This is because Blitz3D does not yet support off-axis projections. This is under development by the Blitz developers.



For support, please post a message on: www.evl.uic.edu/cavern/forum

Other Links: