CS 418: Interactive Computer Graphics

Spring  2018

Tu/Th     9:30  10:45 am,
Room 1404 Siebel Center

University of Illinois at Urbana-Champaign,
Department of Computer Science
Instructor : Eric Shaffer
Office: 2209 Siebel Center
Office Hour: Tu. 2-3pm or by appointment

Book:  There is no book for the class. Notes and other materials will be posted online.

Piazza: This term we will be using Piazza for class discussion. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. Find our class page at: https://piazza.com/illinois/spring2018/cs418

TA Office Hours:


Grading: The course grade for the class is broken down among the following items:

Machine Problem 1  15%
Machine Problem 2  15%
Machine Problem 3  15%
Machine Problem 4  10%
Exam 1  15%
Exam 2   15%
Exam 3  15%






Machine Problems: There will be 4 machine problems during the semester. Assignments will be announced in class and on Piazza. Homework submission will be done electronically through Compass. The required files and acceptable file formats for submission will be specified in the assignment.

Exams: There will be three exams. We will use the Computer Based Testing Facility

Extra Credit: At 3 lectures during the semester, I will take attendance. If you attended that lecture, you will receive 0.5% of the total course grade as extra credit. This means there is a total of 1.5% of the grade available as extra credit, which could easily be the difference between letter grades. This will be the only extra credit opportunity offered during the course.

Late Homework or Projects: Machine problems submitted after the due date lose 10% per day. In exceptional circumstances where extension may be reasonable (illness, family emergency etc.) arrangement must be made with the instructor.

Collaboration: You should collaborate on the MPs. You should not copy code verbatim from each other or the web. 

Software:  We will use HTML/JavaScript/WebGL and GLSL for the programming assignments. No prior knowledge of these is required for the class.

Commenting Code: All files, classes, methods and properties should be documented with JSDoc comments with the appropriate tags and types.
                                  Details can be found in the Google JavaScript Style Guide.

Other Policies: Do not make class material publicly available. This includes copies of lectures, homework, solutions, handouts, and code provided by us.

4 Credit Option: If you are taking the course for 4 credits, you will complete extra work on Machine Problems 2 and  3.

Language References and Resources

Tentative Schedule (Note that slides and topics for future lectures may change):

Date Topic Materials Assignments
1/16 Introduction to Rendering [PDF]




Walking through a WebGL Program [PDF]

SIGGRAPH 2017 Papers Trailer [link]
SIGGRAPH 2017 Animation Trailer [link]
WebGL Demo 1 [link]
WebGL Demo 2 [link]


HelloColor.html [link]
HelloColor.js [link]



Affine Transformations


Geometry in WebGL




Basic Animation





2/1 Modeling and Viewing  



Orthographic Projection




Perspective Projection



2/13 Basic Shading  



Transforming Normals

Simple Mesh Generation



2/20 No Class


2/22 Terrain Generation      

Simple Interaction



3/1 Clipping   I
3/6 Color    

Alpha Blending in WebGL



3/13 Rasterization  



No Class 




Spring Break



3/22 Spring Break 

3/27 Texture Mapping    
3/29 Texture Filtering    
4/3 Environment Mapping    
4/5 Bump Mapping    
4/10 Bezier Curves and Surfaces  


Bezier Curves and Surfaces


Mesh Processing



4/19 Subdivision Surfaces    
4/24 A Simple Physics Engine  


4/26 Procedural Texture Generation



Physically Based Rendering