Fall 2017

ELG5124/CSI5151 Virtual Environments



Jochen Lang Email: jlang_at_eecs.uottawa.ca
Office: STE-5098 Office Hours: Tuesdays 11:30-12:30


TUESDAYS: 8:30-11:30: FTX 135 (First lecture: September 12, 2017).

Calendar Description:

Basic concepts. Virtual worlds. Hardware and software support. World modeling. Geometric modeling. Light modeling. Kinematic and dynamic models. Other physical modeling modalities. Multisensor data fusion, anthropomorphic avatars. Animation: modeling languages, scripts, real-time computer architectures. VE interfaces. Case studies.


Virtual reality (VR) has moved back in the spot light again with novel consumer-level devices such as headsets and controllers. Gaming and entertainment applications gaining poularity and applications in industry, training and medicine are emerging. This course is designed to look at the fundamental concepts in virtual reality, or virtual environments as these concepts are more often referred to in academia, and give students some hands-on software experience. The course emphasizes the need to bring devices, real and virtual objects in correspondence and hence spatial relationships, motion and tracking are a core technological challenge in VR. After all, arguable one of the key features of virtual environment is direct interaction with the environment and typically based on multiple senses. Vision, audio and touch can be used by VR designers with today's devices and research on other modalities is taking place. At the end of this course, a student will have gained a clear understanding of the current state-of-the-art and the methods and techniques which enable it.

Textbooks and On-Line Material

Student Evaluation

Student evaluation will be based on an exam as well as a major course project and assignments, see the marking scheme of the course for details.

Course Topics and Readings

Course notes will be made available through Virtual Campus, see a tentative list of topics.


All assignments will be based on the java-based OpenGL game engine jmonkeyengine. While Unity3D, Unreal Engine amongst others are commonly used professional VR game engines, jmonkey provides us a game engine supporting all major desktop platforms (Windows, MacOS and Linux) which is reasonably easy to learn. It has excellent tutorials. It is a scengraph-based environment and it has an experimental VR headset support. It follows a BSD licensing model and it also allows applications to be deployed on mobile.

Demo Code

Demo code for the lectures is linked from this page.

Course Notes

Course notes are available through Virtual Campus.
Back to Teaching
© Jochen Lang