CPSC 424 Computer Graphics Fall 2023

CPSC 424 Schedule

Reading is to be done for the class period where it is listed; "Eck" refers to the textbook (Introduction to Computer Graphics).

Dates for things in light gray are for planning purposes and may be adjusted slightly.

 Assignments

Week 1: 8/28-9/1

Topics: introduction; fundamentals

 

Mon Reading: (do sometime this week)
  • Eck, chapter 1 (introduction)
Slides:
   

Wed Reading:
  • Eck, sections 2.1-2.2 (coordinate systems, color, 2D shapes)
Slides:
   

Thu Reading: (would be useful if you have a chance to look at it before lab)
  • Eck, sections 2.3.2-2.3.5 (transforms: translation, rotation, scaling; combining transforms)
lab 1
Transformations
 

Fri Reading:
  • Eck, section 2.3 (transforms)
Slides:
  • fundamentals (transforms, combining transforms; hierarchical modeling)
 

Week 2: 9/4-9/8

Topics: hierarchical modeling, scene graphs; OpenGL 1.1 - geometry

 

Mon Reading:
  • Eck, section 2.4 (hierarchical modeling)
Slides and Examples:
 

Wed Reading:
  • Eck, sections 3.1-3.3 (OpenGL 1.1 - shapes and colors, 3D coordinates and transforms, projection and viewing)
  • Eck, sections 3.5, 3.6.2, and A.2
    Sections 3.5 (linear algebra), 3.6.2 (using JOGL), and A.2 (a brief introduction to C) contain supporting material that will be useful as we study OpenGL. You do not need to read all three sections for Wednesday's class, but you should look through them to note what information is there and then read them more carefully when that material becomes relevant.
Slides:
 

Thu lab 2
Hierarchical Modeling
 

Fri Slides:  

Week 3: 9/11-9/15

Topics: OpenGL 1.1 - geometry, lighting and materials

 

Mon Slides:  

Wed Reading:
  • Eck, section 3.4 (OpenGL 1.1 - polygonal meshes, glDrawArrays, glDrawElements)
Slides and Examples:
 

Thu lab 3
Primitives and Projections
 

Fri Reading:
  • Eck, sections 4.1-4.2 (OpenGL 1.1 - lighting and material)
Slides:
 

Week 4: 9/18-9/22

Topics: lighting and materials, textures; scene graphs in 3D

 

Mon Slides:
  • comments on lab 2
  • lighting (basic lighting model - diffuse reflection, specular reflection, ambient light; color; attenuation)
 

Wed Reading:
  • Eck, section 4.3 (image textures)
Slides:
  • lighting and shading (types of lights: ambient, point, directional, spot; flat and smooth shading; lighting and shading in OpenGL)
 

Thu lab 4
Lights and Materials
 

Fri Reading:
  • Eck, section 4.4 (scene graphs in 3D)
Slides:
midterm project
Scene Graph API

Week 5: 9/25-9/29

Topics: WebGL - basics, JavaScript, GLSL


Mon Reading:
  • Eck, sections 6.1-6.2 (programmable pipeline, WebGL basics)
  • Eck, section A.3 (JavaScript)
    WebGL is an implementation of OpenGL for the web, and WebGL programs will be written in JavaScript. This section provides an overview of the key features of JavaScript. You should look through it to note key similarities and differences from Java, then refer back to it as needed for the details.
Slides and Examples:

Wed Reading:
  • Eck, section 6.3 (GLSL)
Slides:

Thu lab 5
Textures and Scene Graphs

Fri
exam 1

Week 6: 10/2-10/6

Topics: WebGL and GLSL - textures, transformations


Mon Reading:
  • Eck, sections 6.4-6.5 (WebGL - image textures, 2D transforms)
Slides and Examples:

Wed Reading:
  • Eck, sections 6.5, 7.1 (WebGL - 2D and 3D transforms)
Slides and Examples:

Thu lab 6
WebGL Intro

Fri Reading:
  • Eck, section B.1 (in Appendix B)
    It is most effective to read this section along with running Blender, so you can try out the operations right away. You will be best able to make the most of Friday's time in class if you do this before coming to class, but if you are short on time, at least looking through the section to get a sense of how Blender works (without running Blender) is better than nothing. Blender is available on the lab computers, and the introduction to Appendix B indicates how to get it if you want to install it on your own computer.
blender lab 1
meet in Rosenberg 009

Week 7: 10/9-10/13

Topics: WebGL - lighting and materials


Mon fall break

Wed Reading:
  • Eck, section 7.2 (WebGL - lighting and material)
Slides and Examples:

Thu Slides:

Fri Reading:
  • Eck, section B.2 (in Appendix B)
blender lab 2
meet in Rosenberg 009

Week 8: 10/16-10/20

Topics: WebGL - lighting and materials, textures


Mon Slides:
  • WebGL - lighting and shading (flat, smooth/Gouraud, Phong shading; full lighting model; non-EC lights; two-sided lighting; other lighting models)

Wed Reading:
  • Eck, sections 7.3.1-7.3.2 (WebGL - texture transforms, generated texture coordinates)
Slides:
  • WebGL - textures (incorporating textures and lighting, texture transforms, generating texture coordinates)

Thu lab 7
WebGL Lighting and Shading

Fri Reading:
  • Eck, section 7.3.3 (procedural textures)
Slides and Examples:

Week 9: 10/23-10/27

Topics: WebGL - more applications of textures (bump maps, cubemaps, environment mapping, framebuffers and dynamic cubemaps)


Mon Reading:
  • Eck, section 7.3.4 (bump maps)
Slides:

Wed Reading:
  • Eck, section 6.4.4 (cubemaps)
  • Eck, section 7.3.5 (environment mapping)
Slides:

Thu lab 8
WebGL Textures

Fri Reading:
  • Eck, section 7.4 (framebuffers)
Slides:
 

Week 10: 10/30-11/3

Topics: three.js

 

Mon Reading:
  • Eck, section 5.1 (three.js - basics)
Slides and Examples:
final project
topic selection

Wed Reading:
  • Eck, section 5.2 (three.js - building objects, textures, transforms)
Slides and Examples:
exam 1 redo
due 11/1

Thu lab 9
Bump and Environment Mapping
 

Fri
exam 2

Week 11: 11/6-11/10

Topics: three.js

 

Mon Slides and Examples: final project

Wed Reading:
  • Eck, sections 5.3.3-5.3.5 (three.js - shadows, cubemaps and skyboxes, reflection and refraction)
Slides and Examples:
blender lab 1
blender lab 2
due 11/8

Thu lab 10
three.js Modeling

Fri Reading:
  • Eck, section B.4 (in Appendix B)
blender lab 3
meet in Rosenberg 009

Week 12: 11/13-11/17

Topics: animation


Mon Slides:
  • animation (keyframing, kinematics, explicit scripting, dynamics)

Wed Slides:

Thu lab 11
More three.js

Fri Slides:

Week 13: 11/20-11/24

Topics: animation


Mon Reading:
  • Eck, section B.3 (in Appendix B)
blender lab 4
meet in Rosenberg 009

Wed Thanksgiving break
Thu
Fri

Week 14: 11/27-12/1

Topics: particle systems; raytracing

final project

Mon Slides:

Wed Slides: exam 2 redo
due 11/29

Thu work on project in lab

Fri
exam 3

Week 15: 12/4-12/8

Topics: raytracing; path tracing, photon mapping, radiosity; wrapup

 

Mon Reading:
  • Eck, sections 8.1-8.2 (raytracing, path tracing)
Slides:
 

Wed Slides:  

Thu work on project in lab

Fri Slides:
  • radiosity (gathering and shooting, computing form factors, advantages and limitations; course wrapup)
  blender lab 3
blender lab 4
due 12/8

Reading Period: 12/9-12/11

  final project

Sat  

Sun  

Mon office hours 1:15-3:15pm  

Final Exams: 12/12-12/15


Tue office hours 10am-noon  

Wed office hours 10am-noon  

Thu office hours noon-1pm  

Fri
project presentations
12/15 8:30-11:30am
Rosenberg 009
  exam 3 redo
due 12/15 11:30am
end-of-semester deadline
no work accepted after 12/15 11:30am