[ Home ] [ Syllabus ] [ Schedule ] [ Assignments ] [ Links ]

CS 180

Computer Graphics

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





Catalog description:

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!