Computer Graphics

Introduction

In this course students will be introduced to the basics of computer graphics, including how to define objects with vertices and meshes, how to write basic shaders, lighting and shading, projections, transformations in 3D, and texture mapping. Assignments will be done using Javascript and WebGL, and will build on each other.

In addition we will have paper reading on more advanced topics related to image morphing, blendshapes, PCA fitting of data, and rendering. There will be additional assignments around these themes.

The last 4 weeks of the class will have a group project.

People

Professor: James Davis (davis@cs.ucsc.edu)

Office Hours

James Davis: 1:00-2:30pm Tuesdays, 2:00-3:30pm Thursdays (or by appointment).

Textbooks

WebGL programming guide: interactive 3D graphics programming with WebGL
Kouichi Matsuda and Rodger Lea

Lecture

TuTh 08:00AM-09:35AM  Soc Sci 2-159

Lecture Schedule

(currently this contains the schedule for the 'core graphics' portion of the class. I will add information on the other parts of the class soon)

Lecture 1: Introduction to Class
Lecture 2: Linear Algebra Review, Assignment 1 Intro.
Lecture 3: Quiz 1
Lecture 4: Assignment 2 Intro.
Lecture 5: Object Modeling, triangles and meshes.
Lecture 6: Assignment 3 Intro., Transformations.
Lecture 7: Colors

strike

strike

Lecture 8 (Oct 30): , Texture Mapping. (Slides)
Lecture 9 (Nov 1): Quiz 2 - Transforms, Modeling, Color.
Lecture 10 (Nov 6):  Projection. (Slides)
Lecture 11 (Nov 8): Visibility. (Slides)
Lecture 12 (Nov 13):  Shading/Lighting. (Slides)
Lecture 13 (Nov 15): ??. (Slides)
Lecture 14 (Nov 20): Quiz 3 - Texture, Camera, Projection.
Lecture 15 (Nov 22): Holiday
Lecture 16 (Nov 27): ., Displays.ppt
Lecture 17 (Nov 29): Quiz 4 - Lighting, Visibility.
Lecture 18 (Dec 4): Ray Tracing. (Slides)
Lecture 19 (Dec 6): Project Presentations

Labs

Tu 03:20PM-04:55PM  Soc Sci 1-135

Th 11:40AM-01:15PM  Soc Sci 1-135

These lab times are technically for my undergrad computer graphics class, but if you'd like to get additional introduction and help on the lab assignments, then these will be helpful to you. 

Grading

Your grade for CMPS-260 is broken down as follows:

  • 4 Quizzes: 5% each (total 20%)
  • 5 Programming assignments on core graphics: (total 30%)
  • 3-6 assignments on faces, morphing, blendshapes, PCA (total 20%)
  • Project (1-3 people) (total 30%)

The grade breakdown on quizzes and 'core graphics' assignments is as follows:

A = 3.70-4.00 grade points
A- = 3.40-3.70 grade points 
B+ = 3.10-3.40 grade points
B = 2.80-3.10 grade points 
B- = 2.50-2.80 grade points
C+ = 2.25-2.50 grade points
C = 2.00-2.25 grade points  
D = 1.50-2.00 grade points  
F = 0.0- 1.5 grade points

Assignment Submissions

Assignments will be submitted on Canvas as zipped project folders containing all of the necessary HTML/Javascript/Shader code. Along with the Canvas submission, assignments will also be live hosted on the your own UCSC account HTML web front, so that you can view each other's work.

Assignments are always turned in weekly. That is, each week only one submission will be checked for each student. 

See the submission guide in the 'Modules' tab for more details and an example.

Assignment Late Policy

Late submissions will be penalized 50% off. No assignments will be accepted after the Friday before finals week.

Core Graphics Assignments

There will be 6 programming assignments in Javascript and WebGL due weekly on Friday at 11:59pm:

Assignment 1: Painting Points (Due Oct 12)
Assignment 2: Painting Geometric Objects (Due Oct 19)
Assignment 3: Transforming Geometric Objects (Due Oct 26)
Assignment 4: Texturing and Coloring Geometric Objects (Due Nov 2)
Assignment 5: Creating a Virtual World (Due Nov 9)
Assignment 6: Lightening the Virtual World (Due Nov 16)

Each assignment builds on top of the previous ones. In technical terms, you will generally need features from previous assignment to properly do the points for the next assignment.

Faces/Morphing/Blendshapes/PCA Assignments

Details coming....XXX

Projects

Details coming XXXX

Quizzes

There will be biweekly, in-class quizzes to test your understanding of the material. In the week leading up to the quiz, sample problems similar to the ones that will appear on the quiz will be gone over in class. There will be no midterm or final.

  1. Quiz 1 (Oct 4)
  2. Quiz 2 (Oct 25)
  3. Quiz 3 (Nov 8)
  4. Quiz 4 (Nov 20)

Make-Up Policy: If you miss a quiz without informing us beforehand, you can make it up within the following week (no later), however, your grade on the make-up is cut in half (contact one of the TAs or the professor to organize). That is, if you get an 80/100 on the make-up, your actual score will be 40. If you know you will need to miss a quiz you need to get in touch at least 48 hours in advance to make arrangements.

 

Course Summary:

Date Details Due