Virtuelle Realität und physikalisch-basierte Simulation WS 12/13

Virtual Reality (VR) is a research area at the intersection of computer graphics, physically-based simulation, and 3D human-computer interaction (HCI). VR is concerned with novel interaction devices and interaction metaphors in virtual environments (in particular intuitive and direct metaphors), immersion and presence, and real-time rendering. Another important topic is physically-based simulation in real-time, which tries to simulate real-world phenomena such as fire, cloth, the behavior of rigid objects when colliding with each other, fluids, or objects made of deformable material.

Over the past one or two decades, VR has established itself as an important tool in several industries, such as manufacturing (e.g., automotive, airspace, ship building), architecture, and pharmaceutical industries. In addition, a lot of the techniques and solutions developed in the area of VR can be applied directly to computer games.

In this course, we will first look at the fundamental methods, and then go on to more advanced algorithms that are needed to build complex and full-fledged VR systems or real-time computer games. Example topics are object behavior, acoustic rendering, haptics, and collision detection.

The assignments will be mostly practical ones, based on the cross-platform VR system InstantReality. Participants can choose the programming language from Java, Javascript, and C++.
You are encouraged to work on assignments in small teams.

Some of the topics to be covered (tentatively):

  1. Introduction, basic notions of VR, a few applications
  2. VR devices: displays, tracking, input devices, software design
  3. Stereo rendering
  4. Error correction: tracking correction, filtering
  5. Techniques for real-time rendering
  6. Fundamental immersive interaction techniques: gesture recognition, navigation, selection, grasping, menues in 3D
  7. Complex immersive interaction techniques: world-in-miniature, action-at-a-distance, magic lens, etc.
  8. Collision detection
  9. Force feedback: rendering forces
  10. Acoustic rendering
  11. Particle systems
  12. Spring-mass systems

Note: this list is just tentative and subject to change during the semester.



The following table contains all the topics that were covered in this class, the accompanying slides, exercise sheets, and frameworks for solving the programming exeercises. (This table will be filled week by week.)

Note that the German slides are, in some places, slightly out-of-date! The authoritative source are the English slides!

Week Topics Slides Folien Exercise
1. Einführung (Definitionen, Immersion, Präsenz, Geschichte),
Szenengraphen (Semantik von Knoten und Kanten, multi-threaded VR Applications, verteiltes Rendering, Thread-Safety);
2. Fields-and-Routes-Konzept, VRML/X3D (Geometry, Grouping, DEF/USE, behavior graph, events and routes) PDF PDF Blatt 1 XMAS_Tree, MtBike, Porsche, Vette
3. Displays, Advantages/Disadvantages, Stereo Displays, Multiplexing variants for stereo, Multi-User stereo, the Horopter, stereo projection, Issues with stereo projection PDF PDF
4. Real-time Rendering: Sources of latency, view-independent rendering, level-of-Detail techniques, predictive LOD selection, progressive meshes, portal culling, image warping PDF PDF Blatt 2 Rollercoaster
5. Input Devices: degrees of freedom, multimodality, virtual trackball, tracking, data gloves, locomotion devices
Interaction metaphors 1: Universal Interaction Tasks, design of user interfaces, gesture recognition, navigation metaphors (point-and-fly et al.), magic mirror, navidget
6. Interaction metaphors 2: user models (power law of practice, Hick's law, Fitts's law), selection techniques, go-go, ray-based techniques, control-display ratio, eye-hand mismatch, cone-based techniques, iSith, balloon selection, action-at-a-distance, image plane interaction, proprioceptive interaction, world-in-miniature, voodoo dolls, magic lenses, system control, menus, marking menus, tanible user interfaces PDF PDF Blatt 3
7. Particle Systems: dynamics/kinematics, Euler integration, pahse space, definitions, particle interactions, collision handling, rendering, rendering transparent objects, flames & fire, procedural modeling of plants. PDF PDF
8. Massively-parallel sorting on the GPU with odd-even merge sort.
Mass-spring systems: Newton's Laws, single spring-damper, explicit Euler integration, instability and error accumulation with Euler integration, Runge-Kutta, Verlet integration, constraints.
9. Mass-spring systems 2: Implicit integration, tangent stiffness matrix, comparison to explicit integration, mesh creation for volumetric objects, consistent collision response for volumetric mass-spring systems.
Haptics 1: applications, devices, the haptic loop, human factors, haptic textures, buzzing, intermediate representations, software architecture.
10. Haptics 2: impendance/admittance approaches, surface contact point approach, voxmap-pointshell method, friction in one contact point, haptic illusions.
Collision detection: importance, definitions, collision detection pipeline, broad/narrow phase, plane-sweep technique, separating planes algorithm (for convex objects), Mikowski sums, intersection test based on Minkowski sums, hierarchical coll.det., bounding volume hierarchies, kinds of BV's, separating axis test (SAT), overlap test for k-DOP's, restricted boxtrees, construction of BVH's.

Here are some examples and demos of VRML, some of which I have presented in class. You can use them, for instance, to test your VRML client/browser setup.


Warning: these text books can only give you a general introduction to the field of VR! Most of the topics taught in class will not be covered by any of these text books directly -- in fact, AFAIK there are no text books that cover these topics. Therefore, I recommend to attend class.

If you are thinking of buying some of these books, then I suggest to consider buying a used copy of them -- very often, you can find them at a fraction of the price of a new copy. The following are two very good internet sites for finding inexpensive used copies of books: Abebooks and BookButler.

Online Literature and Resources on the Internet

Change Monitoring:

 by ChangeDetection (it's free and it's private).

 by ChangeDetect (it's free and private, too).

If you enter your email adress in one of the boxes above and then press one of the "Monitor" buttons, then either ChangeDetection or ChangeDetect will send you an email whenever I make changes to this page.

Gabriel Zachmann
Last modified: Fri Sep 20 15:16:12 MDT 2013