CS 130: Computer Graphics
General
- Lecture: MWF 10:00 AM - 10:50 AM, Student Success Center 308
- Discussion 021: Th 6:00 PM - 6:50 PM, Olmsted 1127
- Discussion 022: Tu 10:00 AM - 10:50 AM, Student Success Center 216
- Textbook: Fundamentals of Computer Graphics, by Shirley, Ashikhmin, Marschner (4th edition on reserve at the library)
- Piazza: https://piazza.com/ucr/fall2022/cs130/home. (Sign up: https://piazza.com/ucr/fall2022/cs130.)
- Syllabus: pdf.
Instructor
Craig Schroeder
Office Hours: MWF 11:00 AM (after class), Chung 309, or by appointment
Email: craigs@cs.ucr.edu
Teaching Assistant
Jason Goulding
Office Hours: TBD
Email: jgoul004@ucr.edu
Course Summary
In this course you will learn about current techniques in computer graphics. By the end of the course, you should be familiar with:
- Raster graphics and hardware
- Geometric representations
- Affine and perspective transformations
- Illumination and shading models
- Raytracing
Schedule
|
Date |
Topic |
Notes |
09/23 |
introduction, math review |
intro, math, math |
|
09/26 |
raster, colors |
images, math |
09/28 |
raytracing |
ray tracing |
09/30 |
raytracing |
normals |
|
10/03 |
lighting, shading |
lighting, shading |
10/05 |
raytracing |
falloff, reflection, shadow, reflection, transmission, schlick |
10/07 |
barycentric coordinates |
barycentric coordinates |
|
10/10 |
triangles, meshes |
meshes |
10/12 |
acceleration |
antialiasing, acceleration |
10/14 |
texture mapping |
texture mapping |
|
10/17 |
raytracing Booleans |
Booleans |
10/19 |
modern pipeline |
OpenGL, pipeline |
10/21 |
rasterize lines, rasterize triangles |
lines, lines, triangles |
|
10/24 |
z-buffer, pipeline |
z-buffer, pipeline |
10/26 |
transforms-linear |
transforms |
10/28 |
pipeline transforms |
transforms |
|
10/31 |
midterm |
solutions |
11/02 |
pers-correct interp |
pers-correct interp |
11/04 |
clipping |
clipping, clipping |
|
11/07 |
clipping |
clipping, clipping |
11/09 |
rotations |
rotations |
11/11 |
holiday |
|
|
11/14 |
curves |
curves |
11/16 |
curves, surfaces |
curves |
11/18 |
implicit surfaces basics |
implicit surfaces |
|
11/21 |
implicit surfaces rendering |
implicit surfaces rendering |
11/23 |
marching cubes |
marching cubes |
11/25 |
holiday |
|
|
11/28 |
marching cubes |
marching cubes |
11/30 |
TBD |
|
12/02 |
TBD |
|
|
|
final |
solutions |
|
Announcements
- Welcome to CS 130, Computer Graphics.
- If you are doing the coding on Windows, you may find this helpful.
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.
- Working on homework with another student or sharing solutions with another student.
- Asking or paying anyone to complete any portion of the course for you.
- Copying or referring to homework solutions, code, or pseudocode from any source (other than course resources such as lecture notes or the course textbook).
- Working on homework in a public Github repository (or anything else that results in your work being visible to other students or visible publicly), whether during or after the course. Working in a private Github repository is permitted, provided that repository stays private forever and is never shared. If you wish to share your code from this course with potential employers, please do so privately.
- Looking up answers/hints to homework or coding problems online. ("Researching the question.") The Internet is a very useful resource, and there are many reasonable places for it in this course (C++ library reference, as a supplement to lectures, further information on interesting topics, etc.) But there is a fine line between using the Internet as a tool for learning and using the Internet as a tool for cheating. If you are not sure, ask.
The following are explicitly allowed.
- Office hours (TA or instructor) are a great resource if you are stuck on a problem or otherwise struggling.
- This course has a Piazza page; please take advantage of it. If your question would contain code, solutions, or hints, please make the post private.
- There are no restrictions on using resources from the course (course textbook, lectures, lecture notes, course website, etc.).
- You may use past exams from this course as study aids. They are publicly available from the course websites from prior quarters.
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
5% | Participation |
40% | Homework |
20% | Midterm |
35% | Final |