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

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.

We will discuss Renderer_13, which adds a depth buffer (the "z-buffer") to the renderer

We will discuss Renderer_12, which adds solid triangles to the renderer

We will discuss Renderer_10, which lets us move the camera.

No class: Thanksgiving break.

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

The first exam is today.

See the homework assignment page for your fourth assignment.

Here are review problems for the Exam 1 which wil lbe two weeks from today, on Thursday, November 16.

We will discuss Renderer_8, which lets us group models (positions) together.

As you may have guessed, there will not be an exam today. The first exam will be rescheduled to three weeks from today, on Thursday, November 16.

See the homework assignment page for your third assignment.

We will discuss Renderer_6, which adds matrices and linear transformations.

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

Next week we will discuss the next two renderers. Renderer_4 implements a simple anti-aliasing algorithm for line segments. Renderer_5 adds color to the renderer.

Look at the first 15 slides in this online presentation for a very interesting visualization of rasterization and the difference between "logical pixels" and "physical pixels".

Next week we will discuss the next two renderers. Renderer_2 adds an interactive GUI to the renderer. Renderer_3 clips line segments when they stick out of the viewport.

See the homework assignment page for your second assignment.

Today we will 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.

Here is the example that we wrote in class today.

Here is another nice introduction to computer graphics taken from this book,

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.

The following zip file contains pictures that help explain the rendering process.

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

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.

Here are interesting demonstrations of many computer graphics concepts.