Course Information
Term: Fall 2021
Class Level: Graduate
Activity Type: Lecture
Days & Times: Monday & Wednesday 8:30 AM – 9:45 AM
Location: JSOM 12.214
Instructor: Prof. Yu Xiang
Office Location: ECSS 4.702
Office Hours: Monday & Wednesday 2:30PM – 3:30 PM
Teaching Assistant: Yatharth Singhal
Office Hours: Tuesday 2:00PM – 3:00PM on Microsoft Teams
All the course materials can be found here.
Course Description
Theory and practice of virtual reality (VR). Provides in-depth overview of VR, including geometry and physics of virtual worlds, visual rendering, visual perception, pose tracking, interaction hardware, audio and haptics, locomotion, selection and manipulation, and robotic interfaces.
Textbooks
Steven M. LaValle. Virtual Reality. To be published by Cambridge University Press. Available online: http://lavalle.pl/vr/
LaViola, J., Kruijff, E., McMahan, R., Bowman, D., and Poupyrev, I. 3D User Interfaces: Theory and Practice, 2nd Edition. Addison-Wesley Professional, 2017. (Optional)
Grading Policy
- Homework (40%)
- Assignment 1 (10%)
- Assignment 2 (10%)
- Assignment 3 (10%)
- Assignment 4 (10%)
- Team Project (55%)
- Project proposal (5%)
- Project mid-term report (10%)
- Project presentation (15%)
- Project final report (25%)
- In-class Activity (5%)
Project
- Project description (PDF)
- Project proposal requirement (PDF)
- Project mid-term report requirement (PDF)
- Project presentation and final report requirement (PDF)
Homework
- Assignment 1 (PDF, programming)
- Assignment 2 (PDF, programming)
- Assignment 3 (PDF, programming)
- Assignment 4 (PDF, programming)
Guest Lecturer
Dr. Ankur Handa from NVIDIA Research talked about VR and Robotics on 12/1/2021.
Lectures
Date | Topic |
Week 1, 8/23, lecture 1 | Introduction to Virtual Reality (slides) |
Week 1, 8/25, Lecture 2 | The Geometry of Virtual Worlds (slides) |
Week 2, 8/30, Lecture 3 | The Physics of Virtual Worlds (slides) |
Week 2, 9/1, Lecture 4 | Camera Models (slides) |
Week 3, 9/6 | Labor Day |
Week 3, 9/8, Lecture 5 | Lenses (slides) |
Week 4, 9/13, Lecture 6 | Visual Rendering: Vertex Transforms (slides) |
Week 4, 9/15, Lecture 7 | Visual Rendering: Rasterization, Lighting and Shading, Fragment Processing (slides) |
Week 5, 9/20, Lecture 8 | Visual Perception: Human Visual System and Color Perception (slides) |
Week 5, 9/22, Lecture 9 | Visual Perception: Depth Perception (slides) |
Week 6, 9/27, Lecture 10 | Visual Perception: Motion Perception (slides) |
Week 6, 9/29, Lecture 11 | Visual Display (slides) |
Week 7, 10/4, Lecture 12 | Head Tracking and IMUs (slides) |
Week 7, 10/6, Lecture 13 | Pose Tracking I (slides) |
Week 8, 10/11, Lecture 14 | Pose Tracking II (slides) |
Week 8, 10/13, Lecture 15 | Pose Tracking: Structure from Motion and SLAM (slides) |
Week 9, 10/18, Lecture 16 | Introduction to Convolutional Neural Networks (slides) |
Week 9, 10/20, Lecture 17 | Pose Tracking: Object Pose Estimation and Tracking (slides) |
Week 10, 10/25, Lecture 18 | Pose Tracking: Articulated Object Tracking (slides) |
Week 10, 10/27, Lecture 19 | Audio: Physics, Physiology and Perception (slides) |
Week 11, 11/1, Lecture 20 | Audio: Rendering (slides) |
Week 11, 11/3, Lecture 21 | Haptics (slides) |
Week 12, 11/8, Lecture 22 | Interaction: Motor Programs and Remapping (slides) |
Week 12, 11/10, Lecture 23 | Interaction: Locomotion (slides) |
Week 13, 11/15, Lecture 24 | Interaction: Selection and Manipulation (slides) |
Week 13, 11/17, Lecture 25 | Interaction: System Control and Social Interaction (slides) |
Week, 14, 11/22 | Fall break |
Week 14, 11/24 | Fall break |
Week 15, 11/29, Lecture 26 | Robotic Interfaces (slides) |
Week 15, 12/1 | Guest Lecture: Dr. Ankur Handa (slides) |
Week 16, 12/6 | Project Presentation I Group 1: Smash the City (slides, demo) Group 2: The LITTLE Island (slides, demo) Group 4: 3D Greedy Snake (slides, demo) Group 6: Escape Room (slides, demo) |
Week 16, 12/8 | Project Presentation II Group 5: Redline (slides, demo) Group 7: Interactive Learning for Kids (slides, demo) Group 9: AR Group Coordinator (slides, demo) Group 10: HoopShot (slides, demo) |