OpenGL and WebGL, real-time rendering, 3D display systems, display optics & electronics, IMUs and sensors, tracking, haptics, rendering pipeline, multimodal human perception and depth perception, stereo rendering, presence. Emphasis on VR technology. Hands-on programming assignments. The 3-unit version requires a final course project with a 1-2 page report. The 4-unit version requires a final course project with a 6-8 page conference paper style report. (Course Catalog Entry) The course will be offered through Zoom as per Stanford policy, and the related hardware for homework would be distributed by mail (TBD).
Released as video recording together with a set of written instructions every Friday here. Use piazza or the live zoom TA office hours to ask questions.
Students are required to read additional resources as indicated for each lecture or week. These readings will help get a better intuition and deeper insights into the topics of this course. The readings may also be required to complete tasks for assignments.
Detailed course notes are available for the topics covered in weeks 5 and 6: orientation tracking with inertial measurement units (IMUs) and pose tracking with the VRduino. You can download these notes here:
Other topics of in this class are adequately covered by existing textbooks, even though these are optional for the course. The material covered in the lectures should be self-contained, but it's always a good idea to read up on more details. In particular, parts of the following two textbooks will be useful for EE 267:
Both of these textbooks are freely available online or through the Stanford library, just click on the titles above. We will only be reading a few chapters of these books, so there's no need to purchase them.
You can work in teams of up to 3 students for the project, although most students will probably work by themselves. Submit only one proposal and final report for each team to gradescope. The expected amount of work is relative to the number of team members, so if two teams work on a similar project, we'd expect less work from a smaller team. Before you start to work on the proposal or the report, take a look at some of the past project proposals and reports to give you sense for what's expected.
The project proposal is a 1-2 page document that should contain the following elements: clear motivation of your idea, a discussion of related work along at least 3 scientific references (i.e., scientific papers not blog articles or websites), an overview of what exactly your project is about and what the final goals are, milestones for your team with a timeline and intermediate goals. Once you send us your proposal, we may ask you to revise it and we will assign a project mentor to your team.
The format of the final project report depends on the number of units you take. If you are enrolled in the 3-unit version, please submit a 2-page project report that proves a concise summary of your project and maybe add 1-2 screenshots. If you are taking the 4-unit or 5-unit (WIM) version, your report should look like a short (~6 pages) conference paper. We expect the following sections for this format, which are standard practice for conference papers: abstract, introduction, related work, theory (i.e., your approach), analysis and evaluation, results, discussion and conclusion, references. To make your life easier, we provide an MS Word and a LaTex template that you can use to get started on your report (see syllabus).
Since starter code of new assignments typically include answers of previous assignments, there are NO late days for assignments.
Courses that may be very helpful, but are not prerequisites:
Related courses at Stanford that you may also find interesting:
This course is generously supported by AMD and Oculus VR. Thanks for making this happen!
This webpage is designed by Chi Zhang based on the website for CS231N. We thank Andrej Karparthy, who designed the CS231N website and kindly shared the code with us. The course banner is re-designed based on this image used in a Udacity's post.