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

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.

Here are review problems for the exam next week. The exam will be Tuesday, December 10.

See the homework assignment page for your fifth, optional, extra credit, programming assignment.

Here are two more versions of the renderer.

Thanksgiving Break. No class.

Today we will start to discuss renderer_8.

See the homework assignment page for your fourth programming assignment.

Today we will start to discuss transformations in renderer_6.

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

Read the following two references about linear transformations.

Today we will discuss how to add colors in renderer_5.

Today we will discuss the anti-aliasing algorithm in renderer_4.

The following zip file contains pictures that help explain clipping and anti-aliasing.

See the homework assignment page for your third programming assignment.

The midterm exam scheduled on the syllabus for this week will be postponed until we have covered a couple of more versions of the renderer.

Today we will discuss the clipping algorithm in renderer_3, which clips line segments when they stick out of the viewport. This renderer makes use of "linear interpolation" (lerp).

Here are some simple even handling examples.

Today we will begin discussing the event handling code in renderer_2.

Here are a few references for Java's event handling system.

Here is the example that we used in class today.

Today we will discuss the projection and rasterization algorithms in the pipeline package from renderer_1.

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

We will look at this sequence of examples today.

Here is the example that we wrote in class today.

See the homework assignment page for your second programming assignment.

Today we will continue to discuss the scene package from this zip file. In particular we will look at how to move a model in a scene.

Here is the example that we wrote in class today.

Read this overview of 3D rendering (from scratchapixel.com/).

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

Today we will use these pixel utilities,

to study the following pixel examples. Read the ReadMe.txt file in the following zip file and do the exercises described in it.

For a review of pixels, images, and image file formats, read Chapter 2 in the following book. You need to be on campus to be able to download this chapter, but once you have downloaded the PDF file, you can read it anywhere.

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

Watch this introductory video about rendering,

Read this introduction to computer graphics taken from this book,

Read Chapter 1 and Section 2.1 from this book (PDF version).

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

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

Here are interesting demonstrations of many computer graphics concepts.