VRG3D Requirements

From VrlWiki
Jump to navigation Jump to search

High-level goals

  1. Software should be open-source (e.g., on SourceForge)
  2. Let new users get started in a few minutes through online documentation
    1. Implementation idea: regular diagnostics at the hardware and support-library levels to minimize undetected failures that block users (this needs rephrasing and possibly division into multiple requirements)
  3. Create rich immersive virtual worlds with high update rates and low-latency
  4. Interoperate (to some degree) with geometry and color calibration system
  5. Provide input and output devices (e.g., tracked glasses, wands, audio, tracked paintbrushes, joysticks, spaceball, Wiimote, etc.)
  6. Easily let applications run on a spectrum of displays ranging from a single conventional monitor to a Cave consisting of 40-60 tiles.
  7. Easy to make applications run on other universities systems (dhl: maybe implies small dependencies)
    1. implementation idea: binaries and as source code (what is plan for data distribution?)
  8. Reduce/minimize “code rot” so apps continue to run and can easily be turned into “demos”
    1. implementation idea: provide support for regular testing of applications to minimize code rot
  9. Capture and disseminate experience
    1. implementation idea: outside of software, e.g., stereo pair, stereo video, session state over time, ...
  10. Need a scripting interface (e.g., for testing without all hardware available, sharing, "slowing down time", etc.)
  11. Desktop debugging and development environment (so you can run it without a Cave)
    1. implementation idea: A simulator (probably inside VRG3D)

VRG3D Requirements

  • documentation
    • "make doc" makes doxygen style documentation
    • it's possible to make introduction page...
  • examples
    • lowest-level events
  • have short-term milestones & then get guinea pigs to test it (is it actually easy to use?)
  • synching
  • interaction
  • 3D graphics
  • multiple displays
  • multiple OS's
  • testability
  • "ease-of-use"
  • code repository & code access