User Tools

Site Tools


T-626-VIEN and T-723-VIEN, Virtual Environments, Fall 2010

Basic Info

  • Contact: Office in Venus floor 2, telephone 559-6323, and email hannes[ ] (open office hours)
  • Theory Lectures: Tuesdays 14:55-16:30 (M 1.05)
  • Practical Lectures/Demos: Wednesdays 14:55-16:30 (M 1.05)
  • Labs: Thursdays 14:55-16:30 (M 1.05)


This is a comprehensive course in both the theory and practice of Virtual Environments (VEs). Virtual Environments are simulations that engage the senses of users through real-time 3D graphics, audio and interaction to create an experience of presence within an artificial world. VEs are used in a variety of settings, including training, education, health, online collaboration, scientific visualization and entertainment. Their use is becoming more and more pervasive as hardware gets more capable of simulating reality in real-time (including graphics, physics and intelligent behavior). As part of the theoretical overview, the course will introduce the history of VEs, what kind of problems VEs have proven to be best at addressing, what are their shown limitations, what models of human-computer interaction apply to VEs and how these models are evolving and pushing the state-of-the-art in interactivity. The technical portion of the course will lead students through the construction and population of VEs in a very hands-on manner, covering topics such as world representation, real-time graphics and simulation issues, networked environments, avatars and interactive characters, event scripting and AI control, special real-time visual and aural effects and intuitive user interfaces.

Learning Outcome

On completion of the course students should:

  • Know what constitutes a virtual environment, why they have been created throughout history and how they are used today.
  • Be able to think critically about virtual environments as a user interface and design effective environments.
  • Understand how humans construct a mental image of their environment using visual cues and how this can be exploited.
  • Know the difference between presence and immersion, and understand how these may be measured.
  • Understand the principles of effective action in virtual environments, including concepts such as flow, implicit constraints, explicit constraints and contextual action.
  • Be familiar with the roles of characters in virtual environments and the common ways to make them autonomous and to animate them.
  • Know what an avatar is and understand the issues that relate to level of control.
  • Be familiar with the several techniques for constructing visual realism in virtual environments.
  • Be able to create an interactive virtual environment in a scripting language and use scene graphs, models, terrain, lights, texturing, collision detection, animation, heads-up-display, shaders and physics.

Discussion Preparation

For many of the theoretical Tuesday sessions, students need to come particularily well prepared. They will need to study certain materials and be ready to participate in exercises or small group discussions during the class. Student contribution to these classes will count towards the participation grade.

MaterialDescriptionBe prepared by
PREP1Exploration of several different 3D environments Tue Sep 14
PREP2What is “presence”, where do you experience it? Tue Sep 28
PREP3Characters and archetypes that you know Tue Oct 12
PREP4Being an Avatar Online Tue Oct 19
PREP5Interactive Art and Information, beyond reality Tue Nov 2
PREP6The Future Tue Nov 16


During the semester, students should complete two programming assignments and a final programming project. These are all group projects, but M.Sc. level students can at most be in 2 person groups. Students discuss final project ideas with instructor in week 05, present a proposal to the class in week 08, demonstrate the project in week 12 and turn in a report on the project in the last week. Everything that has to be turned in, should arrive no later than at 23:59 on the due date, or else incur 10% penalty for each additional day, including weekends and holidays.

PROG1First Programming Assignment Weeks 1-4Wed Sep 15Wed Oct 610%PROG1SCREENS
PROG2Second Programming Assignment Weeks 1-5Wed Oct 13Wed Oct 2710%PROG2SCREENS
FP-PROPPresentation of Final Project Proposal All - Thu Nov 45%
FPFinal Programming Project with Demo All - Wed Dec 130%
FP-REPWritten Final Project Report FP - Fri Dec 3 5%
Total 60%

Online Forum

The course has a dedicated online forum where students can post questions, comments and useful information. Note that everyone should register, in their own name, on this forum before posting (simply go to the address below to register).


WeekPrepTUE: Theoretical Topic WED: Practical Topic THU: Lab Work Due
00 (SEP 07-09) -Introduction to Class
-The Illusion of Reality
01 (SEP 14-16) PREP1 - The history of VEs - Introduction to Python
- Introduction to Panda 3D
- Demo 1 Files
- Lab 1 Materials  
02 (SEP 21-23) - Current Applications of VEs
(Recorded lecture in MySchool)
- The Scene Graph
- Lighting
- Lab 2 Materials
03 (SEP 28-30) PREP2 - Presence and Immersion - Blender Export and UV Texturing
- Texturing
- Intervals for Animation
- Terrain
- Demo 2 Files
- Lab 3 Materials
04 (OCT 05-07) - Action
- Cinematography
- Task and Event Handling
- Collision Detection
- Demo 3 Files
- Lab 4 Materials PROG1 (10%)
05 (OCT 12-14) PREP3 - Actors and interaction - Actors
- Finite State Machines
- Demo 4 Files
- Lab 5 Materials
06 (OCT 19-21) PREP4 - Avatars and levels of control - Text and HUD
- User Interface
- Demo 5 Files
- Lab 6 Materials FP-IDEA
07 (OCT 26-28) - Visual realism and shaders - Pixel and Vertex Shaders
- Demo 6 Files
- Lab 7 Materials PROG2 (10%)
08 (NOV 02-04) PREP5 - Abstract Environments - Visual Effects - Students present FP-PROP FP-PROP (5%)
09 (NOV 09-11) - Character Animation - Animating using Blender [ BWiki ]
- Demo 8 Files
- Lab 8 Materials
10 (NOV 16-18) PREP6 - Online Virtual Worlds - Review Assignment 2 - Work on Previous Labs
11 (NOV 23-25) - Alternative input/output devices - Work on Final Project - Work on Final Project
12 (NOV 30-01) - Review for Exam - Students Present FP FP(30%)/FP-REP(5%)


Please note that there is a 70% attendance requirement for the theoretical topic / discussion classes on Tuesdays. You must pass this attendance limit in order to take the exam. Please inform the instructor if this is hard for you for some reason such as scheduling conflicts or sick leave.


Part of CourseTotal Weight
Programming Assignments (x2) 20%
Final Project Proposal 5%
Final Programming Project 30%
Final Project Report 5%
Discussion Prep and Lab Work 10%
Final Written Exam 30%
Total 100%


There is no single textbook for the course. Reading and support materials will be handed out in class or posted on MySchool. These will mostly be in the form of research papers, software and online resources. The course is also to some extent inspired by the following books:

  • Bergeron, B. “Developing Serious Games”, Charles River Media, Inc., 2006.
  • Pimentel, K., Teixeira, K., “Virtual Reality: Through the new looking glass”, Windcrest Books, 1993.
  • Slater, M., Steed, A., Chrysanthou, Y. “Computer Graphics and Virtual Environments”, Addison-Weseley, 2002.
  • Stuart, R., “The Design of Virtual Environments”Barricade Books Inc., 2001.
  • Laurel, B., “Computers as Theatre”, Addison-Wesley,1993
  • Cooper, A., Reimann, R., “About Face 2.0: The Essentials of Interaction Design”, Wiley

Useful Resources

/var/www/ailab/WWW/wiki/data/pages/public/t-vien-10-3/main.txt · Last modified: 2010/11/30 09:59 by hannes