 
Tuesday  Thursday  Friday  assignments / exams / key dates  
09 January 2018
Lecture 01 Course Overview, Introduction to Computer Graphics 
11 January 2018
Lecture 02 Image Formation, the Polygon Projection (Programmable) Pipeline 
12 January 2018 Lab 01 Introduction to IU Github, and a simple fragment shader 
classes begin (week 01) 

16 January 2018 Lecture 03 Raster Graphics Hardware 
18 January 2018
Lecture 04 2D Transformations 
19 January 2018 Lab 02 introduction to object definition and modeling 
Homework 01 due on Thursday, January 25 at 11:15AM on IU GitHub (sample solutions) (week 02) 

23 January 2018
Lecture 05 General approach to 2D Affine Transformations. Introduction to Projection Transformations. 
25 January 2018
Lecture 06 a first OpenGL ES / GLSL program 
26 January 2018 Lab 03 Introduction to OpenGL ES on iOS and Xcode 
(week 03) 

30 January 2018 Lab 04 ← note! Venue change: Luddy Hall IF0119 more OpenGL ES and GLSL basics 
01 February 2018
Lecture 07 2D Transformations, continued 
02 February 2018 Lecture 08 2D Object Transformations for modeling in the Polygon Projection Pipeline 
Assignment 01 due on Tuesday February 13 at 11:15AM on IU GitHub (sample solution) (week 04) 

06 February 2018
Lecture 09 math for Interactive 2D Graphics: point, line. 2D operations: pointpoint, pointline, lineline 
08 February 2018
Lecture 10 LineLine Intersections, InsideOutside Tests, Line Clipping 
09 February 2018 Lab 05 documenting Assignment 01 work 
(week 05) 

13 February 2018 Lecture 11 Linear Interpolation, BiLinear Interpolation, 2D Polynomial Curves: Cubic Splines 
15 February 2018 Lecture 12 CyrusBeck Clipping Algorithm, Rectangular Region Clipping: CohenSutherland Algorithm 
16 February 2018 Lab 06 topics 
Homework 02 due on Monday, 26 February at 11:59PM on IU GitHub (sample solutions) (week 06) 

20 February 2018 Lecture 13 Homework 02 topics (line and polygon clipping, linear and bilinear interpolations, splines) 
22 February 2018 Lecture 14 2D Cubic Spline Types: Bezier, CatmullRom, BSpline (read: Cubic Splines  by A.Hanson) 
23 February 2018 Lab 07 topics 
(week 07) 

27 February 2018 Lecture 15 topics for Assignment 02: computing spline interpolations in the Vertex Shader 
01 March 2018 Lecture 16 Review: Polygon Projection Pipeline Stages. Topics for Assignment 02: computing cubic splines, the De Casteljau method (read: Spline Algorithms  by A.Hanson) vs. matrix multiplications. 
02 March 2018 Lab 08 topics 
Assignment 02 due on Tuesday, 20 March on IU GitHub (week 08) 

06 March 2018 Midterm Guide Midterm Exam 
08 March 2018 Lecture 17 Introduction to 3D 
09 March 2018 Lab 09 help (ungraded) for Assignment 02 
Sunday 11 March: Withdrawal with Automatic W  "Last day to drop a course with an automatic W." (week 09) 

Spring Break  no classes  "Break begins after last class on Saturday, March 10; classes resume on Monday, March 19."  (week 10)  
20 March 2018 Lecture 18 Diffuse Illumination; Flat Shading 
22 March 2018 Lecture 19 Color Models; Gouraud Shading 
24 March 2018 Lab 10 testing colors, projection, etc. 
Homework 03 due on Thursday, March 29 at 11:59PM on IU GitHub (sample solutions) (week 11) 

27 March 2018 Lecture 20 Specular (PhongBlinn) Illumination; PerFragment (Phong Interpolation) Shading 
29 March 2018 Lecture 21 3D Projection Transformations 
31 March 2018 Lab 11 perspective transformation matrix 
(week 12) 

03 April 2018 Lecture 22 Useful Math for 3D 
05 April 2018 Lecture 23 3D Rotations 
07 April 2018 Lab 12 basic 3D camera motion 
Assignment 03 due on Friday, April 13 at 11:59PM on IU GitHub (week 13) 

10 April 2018 Lecture 24 interactive 3D graphics programming: camera setup, part 1 
12 April 2018 Lecture 25 interactive 3D Rotations: details 
14 April 2018 Lab 13 help (ungraded) for Assignment 03: consult (updated) Lecture 25 notes about interactive 3D rotations, and ask your lab assistant for help! 
(week 14) 

17 April 2018 Lecture 26 & 26b Hidden Surface Removal: model occlusions, painter's algorithm  depth sort, scan line algorithm, Zbuffer  depth buffer method Camera setup: camera frame, flying camera controls, azimuth/elevation/tilt 
19 April 2018 Lecture 27 Halftoning, Dithering; Texture Mappingopics 
20 April 2018 Lab 14 texture mapping 
Assignment 04 due on Sunday, 22 April at 11:59PM on IU GitHub note: there is no penalty if you submit your assignment late, as long as:


24 April 2018 Lecture 28a & 28b Bump Mapping, Height Maps and Normal Maps 
26 April 2018 Lecture 29 Stereo 3D; Ray Tracing, Radiosity; Marching Squares and Marching Cubes Algorithms 
27 April 2018 Lab 15 student presentations: from 11:15AM to 1PM in LH030 
Homework 04 due on Wednesday, May 02 at 11:59PM on IU GitHub (sample solutions) (week 16) 



03 May 2018 Final Exam Guide Final Exam in BH 237, 12:302:30 p.m., Thursday, May 3 
Final Exams  "Final Exams week is from Monday, April 30, to Friday, March 04."
(week 17) 

Mitja Hmeljak 2018 