CSE 167: Introduction to Computer Graphics

Fall 2005

News | Staff | Schedule | Calendar | Projects | Grading | Resources


2005-12-05 Final review in CSB (Cognitive Science Building) 005 from 6pm-8pm today.
2005-12-04 Lecture notes and Midterm w/ Solutions has been posted in the Calendar section.
2005-12-02 2 PDF slides on camera rays have been posted in the Projects section.
2005-11-23 Project 4 base code has been posted.
2005-11-22 Project 4 has been posted.
2005-11-14 A sample executable to Project 3 has been posted below. It has a few additional features (like drawing normals) that you are not required to implement, but otherwise should provide a good reference for you. A sample bezier patch has also been posted for you in the Project 3 specifications.
2005-11-08 A solution to Project 2 has been posted below. It is only one possible solution, but contains the object oriented style you should use.
2005-11-01 Project 3 has been posted.
2005-10-22 A solution to Project 1 has been posted below. It contains the type of object oriented style we expect on the rest of the course assignments.
2005-10-19 Posted a small review sheet covering the problems we went over in discussion section today.
2005-10-18 The Project 2 description has been updated to include a grading point breakdown. Check it out!
2005-10-07 Project 2 has been posted.
2005-10-03 A Project Info & FAQ Page has been posted.
2005-09-29 Project 1 has been posted below, as well as project grading guidelines.
2005-09-27 Section and Lab hours posted below. Location still to be determined.
2005-09-19 Welcome to CSE 167! Check here often for course announcements.

Course Staff

Instructor Steve Rotenberg ( steve@graphics.ucsd.edu )
Office: CSE 4112
Office Hours:
Tu/Th 9:45 am - 10:45 am
TAs Wojciech Jarosz ( wjarosz@ucsd.edu )
Alex Kozlowski ( kman@graphics.ucsd.edu )
Wed. 11:00 am - 12:00 pm; Location: TBD
Lab Hours:
Wed. 12:30 pm - 3:30 pm
Th. 9:00 am - 11:00 am
Location: B240, B250, B260, and B270 in the CS Building

Weekly Schedule

Lectures Time: Tues/Thurs 11:00am - 12:20pm
Location: 105 Center


Below is a tentative calendar for the quarter, and may be subject to change.

Lecture Date Topic Reading
1 9/22 Introduction (pdf) Buss: 1-16, 319-331
2 9/27 Vectors & Matrices (pdf) Buss: 17-34
3 9/29 Homogeneous Transformations (pdf) Buss: 34-46
4 10/4 Perspective and Viewing (pdf) Buss: 46-58
5 10/6 Clipping & Scan Conversion (pdf) (Project 1 Due) Buss: 58-66
6 10/11 Models & Hierarchies (pdf)
7 10/13 Lighting (pdf) Buss: 67-87
8 10/18 Teture Mapping (pdf) Buss: 126-145
9 10/20 Lighting, part 2 (pdf) (Project 2 Due) Buss: 87-98
10 10/25 Antialiasing (pdf) Buss: 99-125
11 10/27 Midterm (In Class) (solution.doc)  
12 11/1 Cubic Curves (pdf) Buss: 155-177, opt: 178-232
13 11/3 Curved Surfaces (pdf)  
14 11/8 Scene management (pdf)
15 11/10 Light and Color Buss: 146-154
16 11/15 Ray tracing (pdf) Buss: 233-270
17 11/17 Global illumination & photorealism (pdf) Buss: 272-288
18 11/22 Procedural modeling (pdf)  
** 11/24 Thanksgiving!!!  
19 11/29 Project 4 disussion hosted by TA's
20 12/1 Review (pdf)  
Final 12/6 Time: 11:30am to 2:30pm. Location: 105 Center  


Project 1 - Due before lecture on Thursday, October 6. Solution [proj1.cpp]

Project 2 - Due before lecture on Thursday, October 20. Solution [proj2.cpp]

Project 3 - Due before lecture on Thursday, November 17. Sample Solution (Windows only) [exe]

Project 4 - Due before 3:30pm on Monday, December 5th.

Camera Rays 2 PDF slides describing some of the components necessary to generate camera rays.

Project 3 Info & FAQ page

Project 1 Info & FAQ page

Discussion section Review Sheet


Project Grading

Projects will be graded face-to-face during lab hours. You will be asked to show your working project to one of the TA's and explain your code in some detail. There is no project writeup required unless explicitly stated. You must get your project graded before lecture on the due date. Getting your project graded early is highly encouraged, as there is quite a rush for grading during the last hour. If you find that you cannot make lab hours for grading, e-mail one of the TA's early in the week (by Tuesday at least) to setup an alternate grading session.

Course Breakdown

80 points total
10 Project 1
10 Project 2
10 Project 3
15 Project 4
15 Midterm
20 Final


Texts & Other Resources

Required Text: S. Buss, 3D Computer Graphics: A Mathematical Introduction with OpenGL.  Cambridge Univ. Press, 2003. 
Book web site: http://math.ucsd.edu/~sbuss/MathCG .

Recommended Text: M. Woo et al., OpenGL Programming Guide, 4th  Edition. Addison-Wesley, 1999.

  • The textbook's web site at http://math.ucsd.edu/~sbuss/MathCG has a number of sample OpenGL programs illustrating basic features and usages of OpenGL.

  • GLUT 3.7:   The GLUT libraries provide an accessible set of routines for using the OpenGL API.  All of the Math 155 / CSE 167 homework projects will use GLUT.  The necessary GLUT files are already installed on the PC lab computers, but they are also available for download from the web.   If you are using a PC at home, you may need to download the GLUT .h, .dll and .lib files. The GLUT homepage is at  http://www.xmission.com/~nate/glut.html or at http://www.sgi.com/software/opengl/glut.html .    The first site has exactly what you need for Math 155AB / CSE 167 and is more up-to-date. The second site is somewhat more comprehensive however.
        Documentation for the GLUT API is available in HTML , Postscript and PDF formats.  This documentation may not include all the features of GLUT: advanced features can be understood by examining the source code for GLUT.

  • Older editions of the OpenGL programming guide are available online for free!!!    You can find the first edition at http://fly.cc.fer.hr/~unreal/theredbook/ , as well as many other locations.    The second edition has been posted online in the past, but its location seems to change frequently and this year I could not find it on google. (Perhaps it is not actually permitted to post it online?  Please let me know if you find it at a legitimate online location.)

  • You may find some of the information at older CSE 167 websites useful.