CS 130 - Introduction to Computer Graphics

Fall '08
MWF 2:10 - 3:00
Location: Watkins 1111


Description

This class is an introductory undergraduate computer graphics class intended for students with interest in computer graphics, rendering, and animation. The course material will cover topics related to graphics fundamentals such as: geometry representations and transformations; rendering and light models; rasterization and anti-aliasing techniques; and basic animation. This course will include projects and/or indepth programming assignments. The students should know basic programming, algorithms, and linear algebra. Exposure to applications in the context of the fundamental concepts described is provided as time allows.

Instructor
Victor Zordan
vbz at cs.ucr.edu
337 EBU II
827-2557
Office Hours: 1-2 Tues and Wed or by appointment
Teaching Assistant
Jose Medina
medinaj at cs.ucr.edu
Office Hours: Announced in Labs

General Information

In this course you will learn about current techniques in computer graphics. By the end of the course, you should be familar with:

There is one formal text for the class:

"Computer Graphics with OpenGL" by Hearn and Baker (required), The textbook will be supplemented by handouts in class.

Syllabus

The tentative schedule appears below. This syllabus is subject to change throughout the quarter, please see the online syllabus for the most up-to-date version of the schedule.


Mon Wed Fri
Sept 26

Introduction
Lecture Slides

Sept 29 Hardware Pipeline
Rastergraphics hardware
Lecture Slides

2D Lines/circles
Basic Algorithms for 2D
Lecture Slides

Lines/circles (cont.)
Lecture Slides

Oct 6 Modeling curves
Hermite, Bezier curves
Lecture Slides

Adv. curves and surfaces
B-Splines, NURBS
Uses of curves
Lecture Slides

Intro to polygons
Filling/scanline algorithms
Lecture Slides

Oct 13 Processing polys in 3D
Vectors, planes and polys
Lecture Slides

Review - Test 1
Test 1
Oct 20 Solid Constructive Geometry
Boolean operators
Lecture Slides

Intro to transformation
Math/Lin Algebra review
Affine transformations
Lecture Slides

Transforms (cont.)
Composite transforms
Rotation in practice
Lecture Slides

Oct 27 Projections
Classic viewing
Parallel views
Lecture Slides

Projections (cont.)
Simple 3D projections,
Perspective Transform
Lecture Slides

Projections (cont.)
Normalization
(No new Lecture Slides)

Nov 3 Shading Intro
Phong Illumination
Lecture Slides

Shading (cont)
Reflection, refraction
Smooth Shading
Lecture Slides

Intro to ray-tracing
Raytracing spheres
Lecture Slides

Nov 10 Ray tracing (cont.)
Polygon algorithms
Lecture Slides

Ray Tracing/Texture mapping
Recursive Ray-tracing
Texture/environment
Bump/solid
Lecture Slides

Review - Test 2
Nov 17 Test 2 Adv. Rendering
Global techniques
Lecture Slides


Anti-aliasing
Image processing
Lecture Slides

Nov 24 Animation
Lecture Slides

Video
Holiday
Dec 1 Procedural modeling
techniques
Lecture Slides

Advanced topics
Lecture Slides

Finish up
Review

Final Exam 12/12, 11:30a.m.-2:30p.m.


Grading and notes

Grades will be determined based on the following breakdown: (subject to change)

Programs (2 x 10% = 20%)
Homework (2 x 5% = 10%)
Laboratory (10%)
Tests (2 x 20% = 40%)
Final exam (20%)

Labs, homeworks, programs: Information about labs will be given out by the lab TA during the lab. Please contact the lab TA for your section if you have questions about the lab in general. Programs and homeworks will be posted online on the class website (www.cs.ucr.edu/~vbz/cs130f08.html) and in general you will be given 3 weeks for programs and 1 week to complete homeworks. The due date will be specified along with turn-in instructions for the assignments. Programs must be turned in via the department's (secure) "turn in" system, details about late policies will be given in the lab.

Note on cheating: Cheating will not be tolerated, anyone suspected of cheating will be investigated until the truth be known. Anyone found to have cheated will be given a failing grade. During exams, your identity will be checked, so please bring your student ID or a valid license/passport or your mother. In programs, automatic and manual processes will be used to assess the uniqueness of your code. For programs and labs, you must be able to describe any and all work you hand in and we may conduct random verbal checks of your work. Once again, cheating will not be tolerated!

Note on availability: I (VBZ) will be available during office hours and by appointment only. Please respect this and email to set up an appointment if you cannot make the office hours. For questions regarding the labs and grading, please, contact the TA first. If you cannot resolve things with the TA, then email me. Note, all class-related emails should have '[CS 130]' in the subject line. Thank you for your cooperation on this.


Contact Information:

Victor B. Zordan
vbz at cs.ucr.edu
Department of Computer Science
University of California, Riverside