ScreenMultiViewer

From Immersive Visualization Lab Wiki
Revision as of 12:09, 5 May 2011 by Jmangan (Talk | contribs)

Jump to: navigation, search

Contents

Project Overview

This CalVR display mode allows two users to simultaneously use the StarCAVE or Nexcave with dual head tracking.

Implementation 1:

...

Implementation 2:

There are two modes under which the display will operate: single-user mode and multi-user mode. Under single-user mode, the display displays perfectly for the primary user and ignores any other head trackers in the CAVE. Under multi-user mode, each screen is partitioned into multiple zones, each of which is visualized by an independent camera. Each camera is set via an interpolation between the two users that is weighted based on how directly each user is facing the respective zone. When both users face directly at the same zone, that zone's camera location is set to balance the view-error between the users evenly, resulting in an equal amount of minimal immersion loss for each users. When both users face opposite sides of the cave, the zones cameras will be positioned purely based on the user's tracking that is facing that zone, resulting in each user seeing the zones before them in optimal quality (as the other user is ignored). When one user is looking directly at a zone and the second user is seeing the zone only peripherally, the camera is positioned to display the zone better for the user facing directly at the zone. The interpolation between the user locations, based on the users' orientations, is continuous and determined independently for each zone, resulting in a more continuous screen image as the zone quantity increases.

Status

Implementation 1:

  • --Work Completed--

Implementation 2:

  • Zones are properly split into a grid per screen
  • Two contribution balancing functions (linear and gaussian)
  • Head tracking simulator complete, so that either one or two heads can be simulated via a plugin (for testing), with two forms of head movements
  • Orientation can be setup to use 3d vector angles, or 2d (ignoring height/z-axis/vertical differences)
  • Maximum zone quantity can be set by the config file
  • Runtime zone quantity can automatically adjust itself to meet a target F.P.S. (range set initially in config file, can be modified by the simulator)
  • Can be run under Multi-User mode or Single-User mode. Single-User mode will treat all screen as a single zone and will only use the primary user's tracking information.
  • Simulator plugin can alter the runtime zone quantity, orientation dimensions (3d or 2d), whether or not we want to use multiple users, target Frames Per Second (and acceptable offset) for zone auto-adjustment, whether or not zone auto-adjustment is enabled.
  • All values that are modifiable in the simulator may have initial values set via the config file.
  • Can run in the StarCAVE, NexCAVE, as well as on a desktop computer (for testing purposes).

Goals

Implementation 1:

  • --Goals--

Implementation 2:

  • Document Headers (DOxygen)
  • Add "readme" style .txt files for the config file options.

Participants

Software Developers:

  • Phi Hung Nguyen - Implementation 1
  • John Mangan - Implementation 2


Project Advisors:

  • Andrew Prudhomme