CS 230: Computer Graphics

General

Instructor

Craig Schroeder
Office Hours: TR 5:00 PM - 6:00 PM, Chung 309, or by appointment
Email: craigs@cs.ucr.edu

Teaching Assistant

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
01/06 introduction, math, math, raster colors 2.1-2.4.8, 3, 21 intro, math, math, images
01/08 math, raytracing 2.5.5-2.5.7, 2.6, 4-4.4.4, 4.6 math, ray tracing
01/13 normals, lighting, shading 2.5, 4.5, 10 normals, lighting, shading
01/15 reflection, falloff, shadows, reflections 4.8, 4.7, 4.8 falloff, reflection, shadow, reflection
01/20 transmission, schlick, barycentric coordinates 13.1, 13.1, 2.7 transmission, schlick, barycentric coordinates
01/22 texture mapping, triangles, meshes 11, 12.1 texture mapping, meshes
01/27 antialiasing, acceleration 13.4, 12.3-12.5 antialiasing, acceleration
01/29 modern pipeline, rasterize lines, rasterize triangles, z-buffer 8.1.1, 8.1.2, 8.2 OpenGL, pipeline, lines, lines, triangles, z-buffer
02/03 transforms-linear, pipeline 6, 8.2, 8.4 transforms, pipeline
02/05 pipeline transforms, pipeline transforms 7, 7 transforms, transforms
02/10 pers-correct interp, clipping 8.1.3-8.1.6 pers-correct interp, clipping
02/12 clipping, basics of simulation clipping
02/17 deformable simulation springs, deformables
02/19 deformable simulation
02/24 rotations rotations
02/26 rigid body simulation rigid-1, rigid-2, rigid-3
03/03 rigid body simulation
03/05 fluid simulation fluids-1, fluids-2, fluids-3
03/10 fluid simulation
03/12 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/projects 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%Project 1 checkpoint
20%Project 1
10%Project 2 checkpoint
20%Project 2
20%Project 3
20%participation
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.