Redirecting to new site in 2 seconds, or click here



ITCS 6125/8125

Virtual Environments

Spring 2013

Prof. Zachary Wartell, Ph.D.


Examples created by UNCC students:





Overview

This course will cover the current state of the art in the design and implementation of Virtual Environments. Topics covered will include: position tracking, design of head-traced and head-mounted displays, stereoscopic display, presence in virtual environments, 3D user interface design, and applications of VEs. Previous experience in computer graphics or 3D game design is helpful but not required.  Extensive prior C++ programming experience is required.

Virtual Reality Facilities ("the toys")

The following are available to students for their projects:

VisCenter (Woodward 417):

Future Computing Lab (Woodward 404):
  • Wide area tracking, hi resolution virtual reality head mounted display
    • Demo Videos: coming

Syllabus

This course will cover the current state of the art in the design and implementation of Virtual Environments. Topics covered will include: position tracking, design of head-traced and head-mounted displays, stereoscopic display, presence in virtual environments, 3D user interface design, and applications of VEs. Previous experience in computer graphics or 3D game design is helpful but not required. (On Demand)

Textbook:

3D User Interfaces: Theory and Practice. Doug A. Bowman , Ernst Kruijff, Joseph J. LaViola , Ivan Poupyrev. Addison-Wesley Professional; 1st edition (August 5, 2004) Language: English ISBN-10: 0201758679 ISBN-13: 978-0201758672 . [html]

Grading:

    • Midterm Exam – 25%

    • Final Exam – 25%

    • Project – 50% (more)

Staff

Instructor:    Dr. Zachary Wartell

Classroom: Woodward 130,  MW 5:00pm - 6:15pm
Office: Woodward 435B
Phone: 687-8442
Email: zwartell@uncc.edu
WWW: http://www.cs.uncc.edu/~zwartell/

Office Hours:    TBA
                        (If I'm not in 410C, check 412)

TA:             TBA

Office: Woodward TBA

Office Hours:    TBA

Topics

  • Introduction to Virtual Reality

    • Slides: 01_Intro_to_VR.ppt

    • Required Reading:

    • Supplemental Reading:

      • Milgram, Paul; H. Takemura, A. Utsumi, F. Kishino (1994). "Augmented Reality: A class of displays on the reality-virtuality continuum" (pdf). Proceedings of Telemanipulator and Telepresence Technologies. pp. 2351–34 [PDF].
         

  • Brief History of VR

    • Slides: 02_VRHistory.ppt

    • Required Reading:

    • Supplemental Reading:

      • Video Place '89 - Video Plane (youtube)
      • Ivan E. Sutherland. 1968. A head-mounted three dimensional display. In Proceedings of the December 9-11, 1968, fall joint computer conference, part I (AFIPS '68 (Fall, part I)). ACM, New York, NY, USA, 757-764. [DOI_ACM
  • Eye and Displays (2D)

     

     

  • ...coming...

Exams

  • Midterm Exam will be to be announced.
  • Final Exam will be to be announced.

Project Assignments

  • Semester Project (50% of total grade)   
          Students propose their own projects using the available VR facilities (or build something!) that are then approved by the professor.
     
    • Two presentations - 10%  - one presentation to present your proposed project and one final presentation on your final results (5% each)
    • Final Report  -  10% - discusses your project and results
    • Virtual Environment Application Software – 80%

      Your application software will have multiple deliverables, including an initial “getting started” project.
      Depending on the scope of the project, students may do them individually or in groups of two.

      The recommended API’s are generally C++ (more).   If a student is familiar with other API’s and the API supports interactive 3D graphics and the API supports virtual reality display systems and input devices, I will consider allowing students to use them.  

Handouts

Required Reading:

  • Ivan E. Sutherland, "The Ultimate Display", Proceedings of IFIP Congress, pp. 506-508, 1965.
  • Greg Welch, Eric Foxlin. Motion Tracking: No Silver Bullet, but a Respectable Arsenal. IEEE Computer Graphics and Applications, Vol. 22, No. 6. (2002), pp. 24-38.[PDF].

Supplemental Reading:

  • ...coming...

Programming References

Recommended:

Other Suggested Options:

Generally a higher level system like OpenSceneGraph is better for this course, but if you are very familiar with OpenGL for 3D graphics, then OpenGL is an option.

Again if a student is familiar with other API’s and the API supports interactive 3D graphics and the API supports virtual reality display systems and input devices, I will consider allowing students to use them.   Past students have used various game engines, but they had to get them to work with the VR hardware.    Investigate the recommended VR Toolkits to see if they support your favorite 3D graphics API and language.

  • OpenGL:
    • http://www.opengl.org  - [General] The official OpenGL website.   There are lots of information resources here.    Some of the most helpful ones for this class are listed separately below.    This class will only use features found OpenGL versions 1.4 and earlier.
    • The OpenGL Programming Guide  - [Introductory] (HTML, SAMPLE CODE) These links reference a freely available copy of the original introductory programming guide for OpenGL version 1.1.   This guide and its later commercial versions are affectionately called "The Red Book". OpenGL has since advanced to version 2.1.  (The latest commercial "Red Book" covers 2.1).   Note, the course textbook (H&B) includes an introduction to OpenGL including various v1.5 features.  In combination, H&B, the free version of the "Red Book v1.1", and an OpenGL reference manual (see below) should be sufficient for the OpenGL aspects of the programming projects.   
    • The Open GL Reference Manual - [Introductory] (HTML) The official printed OpenGL Reference Manual is affectionately called "The Blue Book".    The reference manual is mostly a list of each OpenGL function with a description of what it does, its parameters, etc.
    • Nate Robins OpenGL tutors -  [Introductory] (HTML) These are programs written in OpenGL that illustrate how various OpenGL API functions work.
       
    • "The OpenGL Graphics System: A Specification (Version 2.1)"   -  [Advanced] This is the official highly, excrutiatingly detailed specification of OpenGL 2.1.   This can be a useful resource for understanding deeper details of the design and inner working of the OpenGL specification for advanced OpenGL programmers.
       
  • OpenGL + GLUT:
    • GLUT is a very simple cross platform API for creating a windows and handling GUI events. It is designed for making cross-platform OpenGL applications. Many books such as your textbook and the "OpenGL Redbook" use GLUT in their code examples.
    • GLUT manual - [HTML PDF] Here are the reference manual for GLUT. Again your text book and the OpenGL 'Redbook' provide some introduction to GLUT as well.

     

  • OpenGL + GLEW:   [Advanced]
    • GLEW ('OpenGL Extension Wrangler' ) is a recommended cross-platform tool for using accessing OpenGL API features beyond OpenGL 1.4.