Building Virtual Environments that are Reconfigurable, Scalable, Extensible with DIVERSE

The DIVERSE Course,
August 8, 2001

             

Abstract

This class will teach you how to construct Device Independent Virtual Environments- Reconfigurable, Scalable, Extensible (DIVERSE) applications. DIVERSE is comprised of two C++ application progamming interfaces that provide tools to write Performer based applications which can be run on a CAVETM, ImmersaDeskTM, HMD (head mounted displays), desktop and laptop without modification of the applications code.

Prerequisites


Contents

  1. Start with PowerPoint slides- high level overview
    1. http://www.diverse.vt.edu/presentations/2001-08-08_VT-VEWorkshop.ppt

  2. Run "diversifly" and "hello" demos
    1. Running diversifly with Performer Town
    2. The Minimum dgiPf Application Program: hello
    3. hello and diversifly with Performer Town with CAVE, HMD, and Idesk

  3. DTK tutorial
    1. user-level (shell) commands
      1. dtk-<TAB><TAB>
      2. dtk-config
      3. dtk-server
      4. dtk-shutdownServer
      5. dtk-pingServer
      6. dtk-sliders and like GUIs.
      7. dtk-readFloats
      8. dtk-getRemoteSharedMem
      9. dtk-gnomonDisplay
      10. dtk-CAVEdeviceEmulator
    2. hello world service code example
    3. html tutorial
    4. examples code

  4. dgiPf Configuration, and utility programs
    1. dgiPf-config
      1. Environment Variables
    2. dgiPf-bounds
    3. dgiPf-transform
    4. diversifly

  5. Development tools
    1. caveSim & caveSimInput
      1. toggleObjectsGroup
    2. debugHeadsUp

  6. dgiPf in more detail
    1. The dgiPf class
    2. The dgiPfAugment class
    3. The dgiPfDisplay object, scenegraph, and the classes they use
      1. Classes managed by the dgiPfDisplay object
        1. dgiPfDisplay
        2. dgiPfPipe
        3. dgiPfPwin
        4. dgiPfScreen
        5. hyperDisplay example
      2. Scenegraph and three different coordinate systems
        1. example with simulator and toggle*Objects
      3. New pfNode classes - data driven programming
        1. dgiPfDCS
        2. dgiPfToggle

    4. Input
      1. dgiPfRecord
      2. dgiPfInput
        1. dgiPfInButton
        2. dgiPfInLocator
        3. dgiPfInKeyboard
        4. dgiPfInValuator

    5. Navigation
      1. how it fits into scenegraph
      2. wandJoystickNav
      3. desktopFlynav, desktopHoverNav, glassTrackball
      4. navSwitcher
      5. navControl

    6. Programming
      1. Example programs
      2. Application Program structure - robust example
      3. DSO Program Structure - generic and group
      4. Compiling and Makefiles
      5. Man Pages
      6. copy, modify and run examples- use VRML models already created, or something from model directory