CS 290I:  3D User Interfaces and GPU Power

Fall 2007


 

This home page and the class mailing list will be used as centers of communication for the class. While the webpage provides you with up-to-date information about assignments and what is currently going on in class, the mailing list serves as an open forum: questions, answers, suggestions, etc.

General Information

Class Hours: Tue/Thu 3:00pm - 4:50pm
Class Location: PHELPS 1401
Instructor: Prof. Tobias Höllerer (holl@cs...)
Office Hours: Wed 10am - noon
Office:     2155 Engineering I, (805) 893 8759
TA:                TBD (if any)
Office Hours:  TBD 
 

Course Description: 

This course focuses on real-time 3D graphics interaction. 3D graphics performance on all computing platforms, ranging from large servers to laptops, to tablet computers to cell phones, has increased at a rate that outperforms even Moore's law.

3D user interfaces have thus become a technical feasibility and have made their appearance on all these platforms, most notably in the form of "eye candy" effects on all the latest desktop operating systems (Windows Vista, OS X, Linux Ubuntu) and on mobile devices such as the Apple iPhone.

The big questions are, why and how? Why use them, and how to implement them? There is no doubt about the "coolness factor" of 3D graphics. In this class, we will delve a little deeper than that to gain a thorough understanding of the uses and the difficulties of 3D interaction. 3D user interfaces are already an established component of applications in fields as diverse as scientific and medical visualization, industrial process simulation (e.g., oil drilling, automotive design), and video games. They will become even more important as the computer leaves its established place on an office desk and accompanies us in more flexible everyday situations, be it as a computing device we carry with us (wearable computing), instrumented  environments in which a network of computing equipment observes and augments our actions (ubiquitous computing), or in special purpose environments that allow a user to get unprecedented insights and experiences through specific simulated environments (Virtual Reality, the Holodeck). And even on the office desk, developments are in flux as the major consumer desktop user interfaces have begun to incorporate 3D technology into their present and upcoming software releases. Can we go beyond eye candy and add actual usability value to specific applications? We will provide an introduction to this exciting way of interacting with computers, with an emphasis on methods for designing and evaluating effective 3D user interfaces.


Prerequisite:

CS180 or an equivalent introduction to 3D graphics. We will require OpenGL knowledge. You have to be familiar with 3D graphics programming (homogeneous coordinates, transformations, 3D file formats, simple picking, etc.). We will provide some background information in class, but you are expected to catch up with the necessary  techniques proactively. Apart from the main textbook for the class (3D User Interfaces, Theory and Practice), which is mandatory, we list several standard graphics texts that may help you get up to speed. 

Course Requirements and Grading

The exact grading scheme will be decided in the second week, when it is clear if there is going to be a TA for the class.

The class will be highly research-oriented. The most important component will be a class project, which can be an individual research project, but we recommend to be a group project.

Class participation is important, and will be rewarded by extra credit, which may positively influence your grade. There will be many opportunities for active class participation, such as presentations of research papers, demonstrations and evaluations of interesting 3D UIs, etc. 

Texts

3D User Interfaces: Theory and Practice. D. Bowman, E. Kruijff, J. LaViola Jr., and I. Poupyrev.  Addison-Wesley, Boston, 2005, ISBN 0-201-75867-9

You will probably need some OpenGL reference. Luckily, there is a lot of material available online, e.g. at the official OpenGL web site. We will be using OpenGL 1.5 since the 2.0 drivers for our hardware are not yet stable/installed on the lab hardware.

If you are the type of programmer who likes to have reference books to be effective, the two essential documentation resources that every serious developer should have are the latest releases of:

You do not necessarily need to use the following material, but, especially if you need to brush up your graphics knowledge, it is definitely helpful if you have access to some graphics reference books. Also, you should constantly monitor the class Web site for links to on-line tutorials and other goodies.


Relevant Journals and Conference Proceedings:

Quarter Project

Information on your quarter project can be found here.

 

Open Door Policy

We would like the course to be informative and enjoyable. Let us know what you find just, good and interesting about the course. Let us know sooner if you feel something could be improved. See the instructor, the TA, send an e-mail, or leave a note.


Class Materials

See also handout column in the class schedule!

   

Class Schedule

Tentative Topics:

Wk

Class
C,X

Date Topics Assigned Reading Class Material /
Handout
 0 C1 Thu Sept. 27
Introduction
Class Overview
 
 
Student InfoForm
YouTube: Aereo / Ubuntu
YouTube: IPhone
Allosphere Info
Sun Starfire Video (230MB)

 
1 C2 Tue Oct. 2
Class Mechanisms
Results of Survey

Information Visualization
Augmented Reality
 
3DUI, Ch.1 & 2
C3 Thu Oct. 4  

Pointers for Research

3DUI History

 

  GPGPU SIGGRAPH Course PDF

GPGPU SIGGRAPH Course Videos (470MB!)

2 C4 Tue Oct. 9
No Physical Class.
Watch:
Really Achieving Your Childhood Dreams
Lecture by Randy Pausch
 
  YouTube starting point of the same content (11 installments)
C5 Thu Oct. 11  

Guest Lecture:
Brent Oster (Power of Minus 9, CNSI, Allosphere, CS Dept)

Intro to GPGPU Programming
and CUDA

 

  G80 CUDA Slides

nVidia CUDA
Developers Site
3 C6 Tue Oct. 16
Discussion of last week's content

Trip Report: ACM UIST

Panuakdet (Mock) Suwannatat presentation: ALICE
 

  Evaluating User Interface System Research (Dan Olsen)
C7 Thu Oct. 18
Chris Bunch presentation: SH/RapidMind

Discussion: Presentations and Projects

Trip Report: IEEE ISWC

3DUI Book Overview and
Discussion

3DUI Software:
Open GL Primer
 

  Trip Report Slides

Software:
OpenGL Primer (unix)
OpenGL Primer (win)
VRUI Source

Cg Example

4 C8 Tue Oct. 23
Basak Alper presentation:
Evaluating User Interface Systems Research

Presence / Immersion

UI Evaluation


 

Chapter 1,2
Chapter 13
 
C9 Thu Oct. 25
Projects Discussion

Presence / Immersion

 

Chapter 10  
5 C10 Tue Oct. 30
3DUI Software:
Ben Adams presentation on
VRUI Toolkit
 

3DUI Design and Evaluation

 

Chapter 11  
C11 Thu Nov. 1
Evaluation
Augmented Reality
 
Chapter 11 VR Navigation Study
Video
6 C12 Tue Nov. 6  

Guest Lecture: Chris Coffin


1) Overview of OpenGLShading Language and Cg


2) Overview and Demo of his  InViTe framework for interactive 3D teleconferencing

 

   
C13 Thu Nov. 8
Trip Report VRST

Projects Review Discussion
 

   
7 C14 Tue Nov. 13
Guest Lecture: Prof. Andreas Butz
LMU Munich
 
   
C15 Thu Nov. 15
Guest Lecture: Brent Oster
Next Steps in CUDA
 
   
8 C16 Tue Nov. 20
Trip Report: ISMAR

Brian
Developments in Gaming Interfaces

 

   
X Thu Nov. 22 Thanksgiving, No Class    
9 C17 Tue Nov. 27
Alex Kouznetzov:
3D Display Hardware

Eugene Dvortsov
Multi-touch

3D User Interface Design
 

   
C18 Thu Nov. 29 3D User Interface Design:
Metaphors
Constraints

Markus Ansmann
Scientific Visualization

Liubov Kovaleva
PreVis
 

   
10 C19 Tue Dec. 4 Benjamin Garn:
Gesture Recognition

Alex Bostandjiev
Interaction Techniques I
Selection & Manipulation

Matthew Neeley
 

Interaction Techniques
 

   
C20 Thu Dec. 6
Angus Forbes:

Yi Gong:
Image-Based Rendering


Summary Presentation and
Discussion

 

   
11 Final
Slot
Fri Dec. 14
4pm-7pm (?)
     

 

Assignments

 

 


holl AT cs.ucsb.edu