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

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.

According to the university final exam schedule, the second midterm exam is Tuesday, December 14 at 12:30 p.m. It will be based on these practice problems,

Today we will continue to look at the examples in the sub-folder "basic transformation examples".

See the homework assignment page for your fifth programming assignment.

Today we will look at the examples in the sub-folder "basic transformation examples".

No class: Thanksgiving break.

See the homework assignment page for your fifth programming assignment.

Here is the example program that we started to look at in class today. It will compile and run if it is placed in the renderer_7 folder.

See the homework assignment page for your fourth programming assignment.

Here is the next renderer. It uses linear transformations.

Read Sections 1.1 - 2.3 (pages 1 - 19), about linear transformations, from the following reference.

Read the following three references about linear transformations.

Today we will look at the following renderer which lets us change the aspect ratio of the camera's view volume.

The first midterm exam is today.

Remember that the first midterm exam is this Thursday. See the review material from last week.

See the homework assignment page for your third programming assignment.

Remember to look at the review problems for the upcoming midterm exam.

Here are some review problems for the upcoming midterm exam.

The first nidterm exam will be postponed to Thursday, October 28. There will be a set of sample exam problem here soon.

This zip file has a lot of Java GUI examples.

Here is the example GUI program that we played with in class today.

Read the first two sections of this introductory chapter about Java GUIs.

Here are several other introductory chapters about Java GUIs.

Here is a link to the animation of the "pixel plane" vs. the "framebuffer" while rasterizing.

Today we should finish talking about the line rasterization and line clipping steps in the rendering algorithms.

Today we will look at how the build scripts compile and run the renderer.

Here are some references about the cmd shell.

See the homework assignment page for your second programming assignment.

Today we will continue to look at the projection and rasterization stages of the renderer.

Here are several demonstration programs of projection and the computer graphics camera.

Here is a derivation of the perspective projection formula.

Here is an interactive version of the renderer. We will use it for demonstrating ideas but we won't talk about how to make it interactive until the week after next.

Today we will continue talking about the scene package. Next week we will start talking about the algorithms that transform a Scene into a FrameBuffer. The two most fundamental algorithms in a 3D graphics rendering pipeline are projection and rasterization.

Read this explanation of Perspective Projection from scratchapixel.com.

Read this explanation of Rasterization from scratchapixel.com.

Read this overview of rasterizing lines from this book.

Today we will start looking at the 3D rendering code. Be sure to read the Readme_1.txt file from this zip file.

Today we will look at more pixel manipulation code and then start looking at the 3D rendering code.

For next week, read this overview of 3D rendering (from scratchapixel.com). It explains ideas in the scene package, which is the input data structure for our 3D renderer.

Today we will run the FrameBuffer code examples in the following zip file.

Here is the code example we wrote in class today.

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

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.

Watch Introduction to rendering, a video about rendering from Pixar In A Box.

Read Chapter 4: Movie CGI, an introduction to computer graphics taken from this book.

Read Chapter 1, pages 1-16 from this book.

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

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.