CS 130: Computer Graphics

General

Instructor

Craig Schroeder
Office Hours: MWF 11:00 AM - 12:00 PM, Chung 309, or by appointment
Email: craigs@cs.ucr.edu

Teaching Assistant

Fox Liu
Office Hours: TBD
Email: fox.liu@email.ucr.edu

Learning Outcomes

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

Schedule

Date Topic Reading Notes
09/25 introduction, math, math, raster colors 2.1-2.4.8, 3, 21 intro, math, math, images
09/30 math, raytracing 2.5.5-2.5.7, 2.6, 4-4.4.4, 4.6 math, ray tracing
10/02 normals, lighting, shading 2.5, 4.5, 10 normals, lighting, shading
10/07 reflection, falloff, shadows, reflections, transmission 4.8, 4.7, 4.8, 13.1 falloff, reflection, shadow, reflection, transmission
10/09 schlick, barycentric coordinates, triangles, meshes 13.1, 2.7, 12.1 schlick, barycentric coordinates, meshes
10/14 antialiasing, acceleration 13.4, 12.3-12.5 antialiasing, acceleration
10/16 texture mapping 11 texture mapping
10/21 midterm
10/23 modern pipeline, rasterize lines, rasterize triangles 8.1.1, 8.1.2 OpenGL, pipeline, lines, lines, triangles
10/28 z-buffer, transforms-linear 8.2, 6 z-buffer, transforms
10/30 pipeline, pipeline transforms 8.2, 8.4, 7 pipeline, transforms
11/04 pipeline transforms, pers-correct interp 7 transforms, pers-correct interp
11/06 clipping, clipping 8.1.3-8.1.6 clipping, clipping
11/11 holiday
11/13 rotations rotations
11/18 curves, curves 15, 15 curves, curves
11/20 marching cubes, marching cubes 16.3, 16.3 marching cubes, marching cubes
11/25 review
11/27 holiday
12/02 TBD
12/04 TBD

Note on academic integrity

All assignments are to be completed individually unless otherwise stated. The following are not allowed in this course. For the purposes of this course, they are violations of academic integrity. Violations of academic integrity will result in a score of 0 for the relevant assignment and a lowering of the final course grade by one letter grade (e.g., from A to B). In more severe or repeat cases, violations will result in an 'F' for the course and a referral to the campus academic integrity committee.

The following are explicitly allowed.

If you find yourself struggling in the course, seek help early. The longer you wait, the fewer options will be available.

Start homework early, especially coding parts. If you start the night before, your chances of successful completion are slim. Although the coding is not intended to take a long time, the time required for debugging is unpredictable and varies wildly from student to student.

Grading

10%discussion
10%homework
30%project
20%midterm
30%final
I do not follow a strict grading scheme, nor do I follow a strict curve. Instead, I do a hybrid between the two. (1) I do not curve individual assignments or exams, though I do include extra credit on some items. Curving only occurs at the end, if it occurs at all. (2) I never curve down. 90% is at least an A-, 80% is at least a B-, 70% is at least a C-, and 60% is at least a D. I will occasionally set lower cutoffs when the score distribution warrants it. (3) Other cutoffs (between A vs A-, B+ vs B, etc.) are based on the distribution of scores.