Class Lectures and Reading Assignments
CS 45500
Computer Graphics
Fall, 2016

This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments, simple homework exercises that you can work on for practice and exam preparation (not for credit), and links to other sources of information.

See the homework assignment page for your fourth assignment/second exam project.

The fourth assignment replaces the second exam.

Renderer 17 adds a new geometric primitive, a solid triangle. The renderer modifies the clipping and rasterization stages to handle the solid triangle primitive.

Renderer 16 adds a new geometric primitive, an oriented face, and a new pipeline stage, backface culling.

Renderer 14 optimizes all of the renderer's matrix transformations. Renderer 15 introduces more efficient, "higher level" geometric primitives: LineStrip, LineLoop, LineFan.

Renderers 12 and 13 add near and far clipping planes to the camera's view volume.

No class. Thanksgiving break.

I have added more material to the following zip file.

Renderer 10 lets us control the shape of the camera's view volume. Renderer 11 lets us move the camera around the scene.

These three renderers add depth information to the projection transformation so that the renderer can determine when an object is hidden behind another object.

The midterm exam is today.

Be sure to bring a calculator with you.

See the homework assignment page for your fourth assignment. (It will be there soon.)

I added two new problems to the set of review problems.

The midterm exam will be on Wednesday, November 2.

Here are review problems for the exam.

The midterm exam will be on Wednesday, November 2 (not this week, as stated in the syllabus).

See the homework assignment page for your third assignment.

Next week we will discuss Renderer 6, which uses matrices and linear transformations to implement nested (hierarchical) models.

No class. Fall break.

See the homework assignment page for your third assignment. (It should be there soon.)

Read Chapters 1 and 2 (pages 1 - 28), about linear transformations, from the following reference.

Read Sections 3.1 - 3.3.2 (pages 1 - 18 in the pdf file), about coordinate systems, from the following book chapter.

Next week we will discuss Renderer 5, which adds matrices and linear transformations.

This week we will discuss Renderer 4, which implements a very simple anti-aliasing algorithm for line segments.

This week we will discuss the next two renderers. Renderer 2 adds color to vertices and line segments. Renderer 3 clips line segments when they stick out of the viewport.

Today we will continue to discuss the projection and rasterization algorithms in the pipeline package from this zip file.

The following zip file contains pictures that help explain projection and rasterization.

NOTE: I fixed a small typo in the file Build_&_run_client.cmd from homework assignment 2 so you should re-download the assignment's zip file and copy that fixed command file to your working directory.

See the homework assignment page for your second assignment.

Today we will discuss the pipeline package from this zip file. The pipeline package contains the the two most basic rendering algorithms, projection and rasterization.

The following zip file contains pictures that help explain projection and rasterization.

Labor day. No class.

Today we will discuss the scene package from this zip file.The scene package describes the input data structures for our renderer.

Watch this introductory video about rendering,

Read Chapter 1 from this book (PDF version).

Today we will use these pixel utilities,

to study these pixel examples,

Be sure to look at the homework assignment page. Your first assignment is already listed there.

Read this online chapter from this book. This reading gives you a nice overview of what 3D rendering is, especially Section 1.4 (pages 14-22).

We will discuss the code in this zip file (be sure to read the Readme.txt file from this zip file).

Here are a couple of small utilities that let us look at pixels on the computer screen.

Read the ReadMe.txt file in this zip file and do the exercises described in it.

Here are interesting demonstrations of many computer graphics concepts.