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.
Tuesday, December 7.
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
".
Tuesday, November 30.
See the homework assignment page for your fifth programming assignment.
Today we will look at the examples in the sub-folder "basic transformation examples
".
Thursday, November 25.
No class: Thanksgiving break.
Tuesday, November 23.
See the homework assignment page for your fifth programming assignment.
Thursday, November 18.
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.
Thursday, November 11.
See the homework assignment page for your fourth programming assignment.
Here is the next renderer. It uses linear transformations.
Tuesday, November 9.
Read Sections 1.1 - 2.3 (pages 1 - 19), about linear transformations, from the following reference.
Read the following three references about linear transformations.
Tuesday, November 2.
Today we will look at the following renderer which lets us change the aspect ratio of the camera's view volume .
Thursday, October 28.
The first midterm exam is today.
Tuesday, October 26.
Remember that the first midterm exam is this Thursday. See the review material from last week.
Thursday, October 21.
See the homework assignment page for your third programming assignment.
Remember to look at the review problems for the upcoming midterm exam.
Tuesday, October 19.
Here are some review problems for the upcoming midterm exam.
Thursday, October 14.
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.
Tuesday, October 12.
Thursday, October 7.
Here is the example GUI program that we played with in class today.
Tuesday, October 5.
Read the first two sections of this introductory chapter about Java GUIs.
Here are several other introductory chapters about Java GUIs.
Thursday, September 30.
Here is a link to the animation of the "pixel plane" vs. the "framebuffer" while rasterizing.
Tuesday, September 28.
Today we should finish talking about the line rasterization and line clipping steps in the rendering algorithms.
Thursday, September 23.
Today we will look at how the build scripts compile and run the renderer.
Here are some references about the cmd shell.
Tuesday, September 21.
See the homework assignment page for your second programming assignment.
Thursday, September 16.
Today we will continue to look at the projection and rasterization stages of the renderer.
Tuesday, September 14.
Here are several demonstration programs of projection and the computer graphics camera.
Here is a derivation of the perspective projection formula.
Thursday, September 9.
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 .
Tuesday, September 7.
Today we will start looking at the 3D rendering code. Be sure to read the Readme_1.txt
file from this zip file.
Thursday, September 2.
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.
Tuesday, August 31.
Today we will run the FrameBuffer
code examples in the following zip file.
Here is the code example we wrote in class today.
Thursday, August 26.
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.
Tuesday, August 24.
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.