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

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 an exam during final exam week. The final is Tuesday, December 11, at 12:30.

Today we will discuss Renderer_8, which implements hierarchical scenes (scene graphs).

For an introduction to hierarchical scenes, read Sections 3.1, 3.2, and 3.3 from Chapter 3 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.

Today we will discuss Renderer_7, which lets us control the aspect ratio of the renderer's camera view volume.

Here are some view volume demos.

Here is the example that we did in class today.

Here is the example that we did in class today.

See the homework assignment page for your fourth programming assignment.

Read the following two references about linear transformations.

Renderer_6 adds matrices and linear transformations.

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

Renderer_4 implements a simple anti-aliasing algorithm for line segments. Renderer_5 adds color to the renderer. Both renderers make additional use of "linear interpolation" (lerp).

Renderer_3 clips line segments when they stick out of the viewport. This renderers makes use of "linear interpolation" (lerp).

Fall Break. No class.

The following zip file adds interactivity to the renderer.

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.

Today we will look at these examples.

Here is the example that we wrote in class today.

See the homework assignment page for your third programming assignment.

Here is the example that we wrote in class today.

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

Here is the example that we wrote in class today.

For a good review of pixels, images, and image file formats, read Chapter 1 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.

See the homework assignment page for your second programming assignment.

Today we will use these pixel utilities,

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

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).

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

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.