CS 637 - Exploring Virtual Worlds

Bulletin Description

This course covers a mixture of core techniques related to systems for constructing and modeling virtual environments, such as model-building, image-based rendering, headmounted hardware, stereo image generation, head-tracking, and immersive display technology. The core topics will be presented using textbooks and papers from the current literature. A substantial group project will provide hands-on experience with the concepts, algorithms and technology.

Expected Preparation

Students should be capable of structured functional/object-oriented programming, graphical user interface design, image processing and core concepts in multimedia/graphics/imaging systems.  Mathematical skills should cover calculus, linear algebra, basic statistical methods, and numerical methods.

Student Learning Outcomes

Students will learn the core technologies involved in systems that create a virtual computer environment. These component technologies, such as advanced raster graphics architectures, geometric models, image-based rendering algorithms, and head-mounted display technologies, will be presented and critiqued. Students will begin to understand the state-of-the-art and the difference between the current and the fundamental limitations of such systems. Students will develop a skill-set in this course that will enable them to use tools, algorithms and hardware to implement a solution to a substantial problem in a virtual-reality environment.

Syllabus Information


1. Introduction

     · History (origins)

2. Advanced raster graphics architectures

3. VR systems and component technologies

4. Images meet 3-D models

     · Image warping

     · Image-based rendering

     · Texture-mapping

     · 3-D modeling

     · Calibration

5. Display technology

     · Head-mounted displays

     · Stereo displays

     · Emmersive display environments (Case study: the CAVE)

6. Interaction techniques and Haptics/force Feedback

7. Tracking

8. Augmented reality

9. Human factors


Exact details about examinations in this course will be determined by the instructor offering the course. Typically there will be two in-class examinations during the semester and a two-hour final examination. Specific details will be made available in the syllabus at the start of each semester in which the course is offered.


A student's grade will be determined by a weighted average of homework assignments, programming exercises, projects, midterm examinations, and the final examination. The faculty offering the course will make the details available at the start of the course. A typical weighting is:

Homework and programs: 40%
Midterm Examinations (2 @ 15%): 30%
Final Examination: 30%

Possible Textbooks:

Will be selected later.


Selection of readings from SIGGRAPH and journals like Presence, IEEE CG&A, Image and Vision computing, etc.

MIT Press, 1992. ISBN: 0262210134.