CPSC 424: Computer Graphics

   Department of Mathematics and Computer Science
   Hobart and William Smith Colleges

   Spring 2012.

   Instructor:  David J. Eck  (eck@hws.edu)

   Course Handout:  http://math.hws.edu/eck/courses/cpsc424_s12.html

   Monday, Wednesday, Friday, 12:20 -- 1:15, Lansing 301.
   Lab:  Thursday, 11:55 -- 1:30, Lansing 310.
   
   
   Office Hours for Spring 2012 (Lansing 313, but also check Lansing 310):
   
      Tuesday, 1:30--2:55           I will also usually be in:
      Wednesday, 1:55--2:50             MWF, 10:10--11:05
      Thursday, 10:20--11:45            Tuesday, 11:55--1:20

Labs
Lab 1, January 19
Gimp
Lab 2, January 26
First WebGL Drawing
Lab 3, February 2
Transforms in 2D
Lab 4, February 9
Textures and Points
Lab 5, February 16
Lab 6, February 23

Class Notes
January 18 January 20 January 23 January 25 January 27 January 30
February 1 February 3 February 6 February 8 February 10  

Student Web Portfolios
Kerui Chazoi Jake Alex Kieran Shaun Matt

Some Links:


Week 1: January 18 and 20

Welcome to Computer Graphics. This first shortened week will be an introduction to computer graphics and to WebGL.

The first lab of the course meets on Thursday at 1:30, in Gulick 208. Since we haven't had time to cover anything about WebGL, the first lab will be on the GNU Image Processing Program, Gimp.


Week 2: January 23, 25, and 27

Last Friday was an overview of WebGL. This week, we take introductory looks at the shading language and at the JavaScript API that is used for programming WebGL. We will see how attribute, uniform, and varying variables are actually used in shaders, and how values for attributes and uniforms are specified in JavaScript. There will be a first look at vector and matrix types in the shading language. You will work on some examples in this week's lab. For this lab and the next two labs, you will be working with two-dimensional graphics.


Week 3: January 30; February 1 and 3

The topic for the week is geometric transforms. We are still working in two dimensions. On Monday, we will look at the basic transforms -- scaling, rotation, translation -- and how they can be implemented using matrix multiplication. On Wednesday, the topic is hierarchical graphical modeling and how it can be implemented using a stack of transforms. On Friday, we will continue this topic. If we have time, we will move on to the next big idea: textures.


Week 4: February 6, 8, and 10

The topic for the week is textures. Mostly, we will talk about using image textures in WebGL, but the idea of procedural texture will also be mentioned. Image textures in WebGL are rather complicated, involving such things as: texture coordinates, texture objects, texture units, texture wrap modes, mipmaps, and min/max filters. We'll also use the gl.POINTS primitive for the first time and see how to use textures on points.