Changes in CAVE Library Version 2.5.6
(installed 6 June 1996)
Functions & other major changes
- Added CAVENavMultMatrix().
- Added CAVE_GL_SAMPLES, CAVE_GL_STENCILSIZE, and CAVE_GL_ACCUMSIZE
options for CAVESetOption - allows multisampling / stenciling /
accumulation in OpenGL as well as IrisGL.
- If the configuration specifies no walls, a dummy display process will
be started, in order to update shared memory (tracking, etc.) properly.
The dummy process does not call any application callback functions.
- Added alternate networking methods - TCP (using server program) and
CAVEComm. Selected with "Network tcp" or "Network c2c" configuration;
"Network mcast" selects multicast method. "Network c2c" will only
work with IrisGL, since libc2c requires the GL sphere library;
link with the -lcave_c2c (and -lc2c -lsphere) to use this option.
- Library should be compilable under Linux.
Configuration
- DisplayMode configuration option now just controls the rendering method,
not the video mode. Options are mono, stereo, and oldstereo. Removed
NonCAVEDisplayMode.
Eliminated use of /usr/local/CAVE/bin/DisplayMode.
- Added configuration options WallInitCommand and WallExitCommand,
for specifying shell commands to run when a wall starts and when
it exits. Can be used for changing video modes, in place of the
old DisplayMode / NonCAVEDisplayMode method.
- Made InterocularDistance default to 2.75 inches, rather than 0.
- Added "ReverseStereo y|n" configuration option. When true, causes
left eye view to be drawn in right eye buffer, and vice versa. Intended
for incorrect stereo formats that were supplied with the IR.
- Added "FilterBirdsParameter" configuration option. Determines which
filters are used when Flock-of-Birds filtering is enabled. See Ascension
manual for values (under CHANGE VALUE/FILTER STATUS).
- "HideCursor Y" now works with OpenGL and with Performer.
- Added support for Spaceball devices for custom wand (and CAVEgetbutton /
CAVEgetvaluator) (IrisGL only).
pfCAVE
- pfcave library now includes cave library - use just -lpfcave_igl
(or -lpfcave_ogl) rather than -lpfcave -lcave_pf.
- Added pfCAVEHalt() function to pfcave libraries.
- pfcave.h assumes OpenGL unless IRISGL is defined.
Other
- Changed Flock of Birds tracker synchronization so that tracking will
run at double the rate of the display (96 hz rather than 48 hz).
- Fixed bug in networking (from 2.5.5) - head data was being sent
for all tracker sensors.
- CAVEConfigure tries to watch out for (0,0,0) rotation axes, which are
bogus.
- Changed Logitech tracking to use DefaultTrackerPosition /
DefaultTrackerOrientation values for sensors which are not being read.
- Renamed 'sync' member of CAVE_ST to 'procsync'.
Post-release changes
- 2.5.6a (16 June 1996) - Fixed bug in multisampling in OpenGL library;
had been possible to get a multisampled color buffer with no
depth buffer.
- 2.5.6b (13 July) - Fixed networking bug in pfCAVE libraries;
incorrect orientation data was being broadcast.
- 2.5.6c (15 July) - Fixed serious networking bug which caused
application data to be mangled when using CAVENetReceive().
- 2.5.6d (4 November) - Fixed networking bug which messed up CAVEUser[]
array when a user was deleted.
- 2.5.6e (11 November) - Made DefaultTrackerPosition configuration option
be scaled by Units and CAVEScale options.
CPUlocking is disabled if the system call to mplock fails.
- 2.5.6f (2 February 1997) - Fixed various bugs in pfCAVE libraries - stereo
projection was wrong when the head roll angle was non-zero
(when the user tilts his head); HMD projection was completely wrong;
CAVEGetVector() computed incorrect up, down, left, and right vectors;
CAVEGetSensorOrientation() reversed azimuth & roll.
Last modified 2 February 1997.
Dave Pape,
pape@evl.uic.edu