CPSC 424: Introduction to Computer Graphics
Department of Mathematics and Computer Science Hobart and William Smith Colleges Fall, 2017. Instructor: David J. Eck (email@example.com) Monday, Wednesday, Friday, 12:20–1:15 PM. Room Gulick 2000 (formerly room number 206A). (Except for several Mondays in Rosenberg 009.) Lab: Thursday, 11:55–1:20. Room Rosenberg 009. Office hours in Lansing 313 (but also check the computer lab, Lansing 310): MWF, 11:15–12:10 WF, 2:00–3:00 (I am also often available at other times.) Course Handout: http://math.hws.edu/eck/courses/cpsc424_f17.html
|Lab 1, August 31
|Lab 2, September 7
HTML Canvas Graphics
|Lab 3, September 14
|Lab 4, September 21
|Lab 5, September 28||Lab 6, October 5|
|September 11: Gimp 1||September 18: Gimp 2||September 25: Inkscape|
- Textbook for the course: http://math.hws.edu/graphicsbook
- Java APIs: Java 8 JOGL
- OpenGL 1.1: Reference Manual Programming Guide GLUT
- Three.js: Web Site API Stemkowski's Examples
- WebGL: Reference Card (PDF) WebGL Spec OpenGL ES 2.0 Spec (PDF) GLSL Spec (PDF)
- Programming Environments: JDK Download Eclipse Komodo Edit
- Graphics Programs: Gimp Inkscape Blender
First Week: August 28 and 30; September 1
Welcome to the course!
The reading for the week is Chapter 1 and the first three sections of Chapter 2. Chapter 1 is a short overview of computer graphics. You should not expect to understand everything in it, but it will give you an idea of what will be covered in the course. Chapter 2 covers two-dimensional graphics, using several graphics systems.
When you read the book, you should pay some attention to the interactive demos, which are meant to help the reader understant the concepts better. You can find them in the web-site version of the book. There are links to the demos in the linked PDF version.
Second Week: September 4, 6, and 8
(Here's the very simple first web page that we will look at in class.)
Third Week: September 11, 13, and 15
On Monday, September 11, the class will meet in the computer lab, Rosenberg 009, for a session with the Gimp image editing program.
The reading for the week is Section 2.4, which covers hierarchical graphics and scene graphs. We have already started talking about hierarchical graphics last Friday. We will discuss scene graphs this Wednesday in class.
On Friday, we should be able to discuss three-dimensional coordinate systems and 3D graphics. It would be a good idea to start reading ahead in Chapter 3.
Fourth Week: September 18, 20, and 22
Monday's class will be in Rosenberg 009, for another session with Gimp.
You should read Sections 3.1, 3.2, 3.6, and A.2.
We started our discussion of 3D graphics on Friday. The material covered there is in Section 3.1 and Section 3.2: some basic parts of the OpenGL 1.1 API for color and drawing primitives, plus general ideas about 3D coordinates and transformations. On Wednesday, we will need to cover everything else that you need to know for Thursday's lab. That includes how to do transformations in OpenGL 1.1 and, in particular, how to implement hierarchical modeling with glPushMatrix and glPopMatrix. We will also have to talk about using GLUT to draw things like spheres and cones; this is covered in Section 3.6.
The OpenGL API works most naturally with C, so it's useful to know at least a little bit out C if you want to understand the API. Fortunately, the API is relatively easy C. Appendix A, Section 2 is a short introduction to C. It would be useful to know something about pointers and arrays in C (but not the really hard stuff).