[ Home ] [ Syllabus ] [ Schedule ] [ Assignments ] [ Links ]
Fall Quarter 2012
Professor Matthew Turk (contact info)
Office hours: Tuesday 9:30-11:30am or by appointment, or drop by and see if I'm available (Frank Hall 2163)
TA and Reader
TA: Domagoj BariÄeviÄ‡ (contact), Office Hours: Thursday 11:00am-1:00pm, Phelps 1413
Reader: Emre Gul (contact)
Meeting Times and Locations
Lectures: Mon/Wed 5:00-6:15pm, Phelps 1401
Discussion sessions: (a) Mon 3:00-3:50pm, ESB 1003; (b) Mon 4:00-4:50pm, ESB 1003
Email: cs180 at cs.ucsb.edu goes to the instructor and the TA
Mailing list: http://lists.cs.ucsb.edu/mailman/listinfo/cs180
- Thanks for a great class this quarter. Have a nice winter break - Merry Christmas and Happy New Year to all!
- All grades are posted on GauchoSpace, and final grades have been submitted. The average on the midterm was 68/100 (the median was 67). The average and median overall scores (weighted as described in the syllabus, including the "mulligan") were 78 and 81. [Note that the grade for HW5 is actually out of 90 - we had to use 100 in GauchoSpace to accommodate the extra credit.]
- The ReCVEB Lab in Psychology is looking for programmers next quarter, and graphics experience would be very helpful. If you're interested, contact Marlo Verket (marloverket at gmail.com).
- HW#5 is now posted.
- [11/20] objreader2.cpp has been updated with a bug fix (initializing the normals to zero).
- [11/19 - updated, fixing an error in #2b] Answers to one version of the midterm is here. (The other versions were almost the same, but with some minor changes and problems in different orders.)
- See the Assignments page for posted code (useful in Assignment 4) to compute vertex normals for basic OBJ files.
- Someone asked me to advertise a short survey as part of his graduate work, in case you're interested.
- Update to HW#3 - a typo was corrected in Problem 1. See the Assignments page for details.
- The due date for Assignment #3 has been moved to Monday, November 12. HW#4 will now be due on Wednesday, November 21 (the day before Thanksgiving, so plan accordingly!).
- The solar system example shown in class (10/29) with menus can be found here.
- HW#3 is now posted on the Assignments page, due on Friday, Nov. 9.
- Here is some code to print out the current value of the Projection or Modelview matrix. I recommend trying this out - calling it (with GL_MODELVIEW_MATRIX) at various places in your display routine (e.g., after the initial LoadIdentity, before and after a PopMatrix, etc.), and calling it (with GL_PROJECTION_MATRIX) in your reshape routine, to see if these match your expectations.
- The (first) solar system example shown in class can be found here.
- Information on the CS Speed Advising event on Wednesday 10/17 is here. To participate, go to HFH 1132 during 3:00-5:00pm (earlier is better!).
- HW#1 is now posted on the Assignments page, due on Friday by 5:00pm.
- Information from the first discussion session has now been posted on GauchoSpace, also available via a link from the Schedule page. Students not currently registered can email Domagoj to request access.
- TiVo, Inc. is holding an information session on Monday, October 15, 5-7pm, for students interested in hearing about their summer internship program. For further info, see this announcement.
- The lecture notes are availabe from a link on the Schedule page. They are *.pptx files - if anyone cannot read this format, please let me know. The login/passwd is cs180/grafx (this info will soon self-destruct...).
- The first course meetings will be on Monday, October 1st. Please attend your assigned discussion session (at 3pm or 4pm, in ESB 1003) and the lecture (at 5:00pm, in Phelps 1401). The first discussion session will cover the basics of creating, compiling, and running an OpenGL program on the CSIL machines.
Prerequisite: Computer Science 130A or consent of instructor.
Overview of OpenGL graphics standard, OpenGL state machine, other 3D graphics libraries, 3D graphics pipeline, 3D transformations and clipping, color model, shading model, shadow algorithms, texturing, curves and curved surfaces, graphics hardware, interaction devices and techniques
This course intends to provide students with an understanding of basic computer graphics concepts and programming. It is NOT about using CG tools (like Maya, 3DS Max, Inventor, Lightwave, Renderman, Swift3D, etc.) to create special effection, animation, videos, or flashy presentations - rather, it provides the core technical background needed in order to create such systems. (Or at least to get started.) It is also not a course on making video games, animations, simulations, etc. - but again, it will give you some of the background necessary in order to build such things. We will not deal with storyboarding, content creation, or any other artistic aspects of the CG world, at least not in detail. Again, this course will cover the basics of computer graphics concepts, mathematics, and programming. For students with Computer Science backgrounds (as per the prerequisites).
There will be a good deal of programming use C/C++ and OpenGL, so it is assumed that students are very familiar with how to program in a high-level language, how to use and link with software packages, how to use an IDE (integrated development environment) for editing, compiling, and debugging, etc. If you don't currently know C/C++ well but know (for example) Java well, that should be okay, but you may need to spend some extra time early in the quarter familiarizing yourself with C/C++. No prior use of OpenGL is assumed.
Computer graphics is a really interesting and fun topic, but it definitely requires a lot of hard work to master. If you put a lot into this course, I believe you will get a lot out of it!