CS185c Spring 2019 Lecture Notes

Virtual Reality Programming

Videos of lectures are available.

Below are my lecture notes for the class so far. They should serve as a rough guide to what was covered on any given day. Frequently, however, I say more in class than is in these notes. Also, I tend to dynamically correct typos on the board that might appear in these lecture notes. So caveat emptor.

Week 1: [Jan 28 -- Introduction to Virtual Reality] [Jan 30 -- VR Experiences, History, Start HTML]

Week 2: [Feb 4 -- Javascript, A-Frame] [Feb 6 -- More A-Frame, VR Hardware Software]

Week 3: [Feb 11 -- VR from Hardware to Software] [Feb 13 -- Perception, The Geometry of Virtual Worlds]

Week 4: [Feb 18 -- More The Geometry of Virtual Worlds] [Feb 20 -- More Rotations, Slerping]

Week 5: [Feb 25 -- Viewing Transformations, Web GL] [Feb 27 -- WebGL]

Week 6: [Mar 4 -- Web VR] [Mar 6 -- WebVR Debugging - OO Javascript -- Light]

Week 7: [Mar 11 -- More Light and Optics] [Mar 13 -- Lenses to Headsets and Vision]

Week 8: [Mar 18 -- Finish Optics, Gamepad API] [Mar 20 -- Native Oculus Go API]

Week 9: [Mar 25 -- Practice Midterm] [Mar 27 -- Midterm]

Week 10: [Apr 8 -- FFMPEG - Human Vision] [Apr 10 -- Human Vision]

Week 11: [Apr 15 -- Finish Vision - Unity] [Apr 17 -- Unity]

Week 12: [Apr 22 -- Unity Avatars, Gaze-based Control, Scripting Unity] [Apr 24 -- Unity Controllers, Sound, Skyboxes]

Week 13: [Apr 29 -- Finish Perception] [May 1 -- Visual Rendering]

Week 14: [May 6 -- More Visual Rendering] [May 8 -- Latency Reduction]