CPSC 424 Computer Graphics Fall 2019

CPSC 424 Schedule

Reading is to be done for the class period where it is listed.

Things in light gray have not been assigned yet; dates may shift slightly.

 Assignments

Week 1: 8/26-8/30

Topics: course introduction; fundamentals

   

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

Slides:

   

Tue   lab 1
Preliminaries
 

Wed Reading:
  • Eck, sections 2.1-2.2

Slides:

  • fundamentals (image representation, elements of 3D graphics, coordinate systems, light and color)
 

Fri Reading:
  • Eck, section 2.3

Slides:


Week 2: 9/2-9/6

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

 

Mon Reading:
  • Eck, section 2.4

Slides and Examples:

 

Tue Examples: lab 2
Hierarchical Modeling
 

Wed Reading:
  • Eck, sections 3.1-3.3
  • 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:

 

Fri Slides:

Week 3: 9/9-9/13

Topics: OpenGL 1.1 - geometry; OpenGL 1.1 - lighting and materials

 

Mon Slides:
  • viewing pipeline (parallel projections recap, perspective, projections in OpenGL, nuts and bolts of OpenGL/JOGL programs)
 

Tue   lab 3
Primitives and Projections
 

Wed Reading:
  • Eck, section 3.4

Slides:

 

Fri Reading:
  • Eck, sections 4.1-4.2

Slides and Examples:


Week 4: 9/16-9/20

Topics: lighting and materials, image textures

 

Mon Slides:  

Tue   lab 4
Lights and Materials
 

Wed Reading:
  • Eck, section 4.3

Slides:


Fri Reading:
  • Eck, section 4.4

Slides:

midterm project
Scene Graph API

Week 5: 9/23-9/27

Topics: WebGL - basics, JavaScript, GLSL, textures


Mon Reading:
  • Eck, sections 6.1-6.2
  • Eck, section A.3
    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:


Tue lab 5
Textures and More

Wed Reading:
  • Eck, section 6.3

Slides and Examples:


Fri Reading:
  • Eck, sections 6.4-6.5

Slides and Examples:


Week 6: 9/30-10/4

Topics: WebGL - GLSL, transformations


Mon Reading:
  • Eck, section 7.1

Slides and Examples:


Tue   lab 6
WebGL I - Transforms, IFS Objects, Textures

Wed
exam 1

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.
In Class: Blender lab 1 - meet in Rosenberg 009

Week 7: 10/7-10/11

Topics: WebGL - lighting and material


Mon Reading:
  • Eck, section 7.2

Slides:


Tue   lab 7
WebGL II - Lighting and Shading

Wed Slides:

Fri Reading:
  • Eck, section B.2 (in Appendix B)
In Class: Blender lab 2 - meet in Rosenberg 009

Week 8: 10/14-10/18

Topics: WebGL - texture transforms, generated texture coordinates, procedural textures


Mon fall break
Tue

Wed Reading:
  • Eck, sections 7.3.1-7.3.2

Slides:


Fri Reading:
  • Eck, section 7.3.3

Slides:


Week 9: 10/21-10/25

Topics: other applications of textures: bump maps, cubemaps, environment mapping, framebuffers and dynamic cubemaps


Mon Reading:
  • Eck, section 7.3.4

Slides:


Tue   lab 8
WebGL III - Textures

Wed Reading:
  • Eck, section 6.4.4
  • Eck, section 7.3.5

Slides:

 

Fri Reading:
  • Eck, section 7.4

Slides:


Week 10: 10/28-11/1

Topics: framebuffers and dynamic cubemaps; three.js

 

Mon Slides:  

Tue   lab 9
Bump and Environment Mapping
 

Wed Reading:
  • Eck, section 5.1

Slides:

 

Fri Reading:
  • Eck, section 5.2

Slides:

final project

Week 11: 11/4-11/8

Topics: three.js; raytracing, path tracing


Mon Slides:

Tue   lab 10
three.js Modeling

Wed Reading:
  • Eck, section 5.3

Slides:


Fri Reading:
  • Eck, sections 8.1-8.2

Slides:


Week 12: 11/11-11/15

Topics: path tracing, photon mapping, radiosity


Mon Slides:

Tue   lab 11
More three.js

Wed In Class: Blender lab 3 - meet in Rosenberg 009

Fri
exam 2

Week 13: 11/18-11/22

Topics: animation


Mon Slides:

Tue
work on project

Wed Slides:
  • animation (dynamics examples, behavioral animation)

Fri In Class: Blender lab 4 - meet in Rosenberg 009

Reading:

  • Eck, sections B.3.1-B.3.3, B.3.5

Thanksgiving Break: 11/25-11/29

Mon Thanskgiving break
Tue
Wed
Fri

Week 14: 12/2-12/6

Topics: animation; particle systems


Mon Slides:

Tue
work on project

Wed Slides:

Fri Slides:

Week 15: 12/9-12/10

Topics: wrapup


Mon In Class: work on Blender labs/project - meet in Rosenberg 009

Tue
work on project
 

Reading Period: 12/11-12/13


Wed

Thu

Fri

Exams: 12/14-12/17


Sat
project presentations
12/14 7-10pm
Rosenberg 009
end-of-semester deadline
no work accepted after 12/14 10pm

Sun    

Mon  

Tue      

Valid HTML 4.01!