Class Lectures and Reading Assignments
CS 51580
Computer Graphics
Spring, 2022

This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments, simple exercises that you can work on for practice, sources of information, etc.

The reading assignments and practice problems are listed by the date on which they were assigned. The sample program files are listed by the date on which they were used. When you are viewing a source code page, you can use your browser's "File -> Save As..." menu item to save a copy of the code on your computer. It is a good idea for you to "play" with these example programs; compile them, run them, make simple changes to them and compile and run them again.

Today we will introduce shaders and GLSL.

See the homework assignment page for your fourth programming assignment.

Read Section 6.1 (from the online graphics textbook) about the OpenGL programmable graphics pipeline.

I fixed all the JOGL texture examples.

Here is some example JOGL texture code.

Today we will go over the details of the OpenGL 2 lighting equation.

Read Section 4.3 (from the online graphics textbook) about textures.

Read Sections 4.1 and 4.2 (from the online graphics textbook).

Here is some example JOGL lighting code.

The examples that we wrote in class today are in this folder.

See the homework assignment page for your third programming assignment.

Here are some references and example code about hierarchical models. This zip file includes the examples we wrote in class today.

The examples that we wrote in class today are in this folder.

Spring Break - No class today.

Spring Break - No class today.

Here are some references and example code about matrices and transformations.

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

Here is the code we worked with in class, both the version we started with and the version we ended with.

Read Section 3.4 (from the online graphics textbook).

Use the following zip file to build example JOGL code.

Class will meet at 3:30 on campus in the Gyte building, Room 117.

Today we will start to look at examples of JOGL code.

For an introduction to getting started with JOGL, read the following section from this online graphics textbook.

For an introduction to OpenGL, read Sections 3.1 - 3.3 (from the same graphics textbook).

Class will meet at 3:30 on campus in the Gyte building, Room 117.

Class will meet at 3:30 on campus in the Gyte building, Room 117.

See the homework assignment page for your second programming assignment.

When you are connected to the campus network, download Chapter 5, about JOGL, from the following book.

Also while connected to the campus network, download Chapter 15, about JOGL, from the following book.

Class will meet at 3:30 on campus in the Gyte building, Room 117.

We will continue to work with this example from the last class.

Here is the code that we wrote in class today (but we didn't finish the second check box listener).

Class will meet at 3:30 on campus in the Gyte building, Room 117.

We will continue to work with this example from the last class.

Here is the code that we wrote in class today.

Class will meet at 3:30 on campus in the Gyte building, Room 117.

We will continue to work with this example from the last class.

Here is the code that we wrote in class today.

Because of the weather, class met at 3:30 using the Zoom application.

Here is a link to today's video lecture.

Here is the code we wrote in class today. I fixed the "mouse hit" problem by using the circle's location (instead of it's color) and it works very well and is easy to implement.

Class will meet at 3:30 on campus in the Gyte building, Room 117.

Here is a link to today's video lecture.

NOTE: Starting Monday of next week, we will be meeting in a classroom on campus (we will meet in Gyte Bldg, Room 117). When we meet on campus, there will be no Zoom component to the class.

Here is a link to today's video lecture.

See the homework assignment page for your first programming assignment.

Today we will start to look at events and event handlers.

Here is a link to today's video lecture.

Here are the code examples that we used in class today.

I found a good, modern, up-to-date, free, pixel magnifier called Magnifixer. Here is a link to the portable version (just download, unzip, and run; no need to install).

No class today, Martin Luther King Jr. Day.

Here is a link to today's video lecture.

I have updated this zip file to include the code examples we used in class today.

Here is a link to today's video lecture.

Read the following introductions to Java GUIs and Java 2D graphics.

Here are the code examples we used in class today.