Home / Courses / CS482



CS482: Interactive Computer Graphics

Spring 2019


Prof. Min Hyuk Kim, [Room] 2403, E3-1, [email]

Course Description


This course is a team project-based course that gives you an opportunity to build your own interactive appliation as a mobile video game on a mobile platform, Android OS. The goal of this course is to learn how to create your own interactive graphics application from designing to building via collaborative programming. We will study the foundations of computer graphics used to define shapes, materials and lighting and practice for use in mobile graphics enviroments. This course starts with essential foundations and introduction to advanced topics for interactive computer graphics. And main team-project activities will follow, including team presentation, progress reports and the final presentations.

Time and Place

(Lecture) Tuesday and Thursday 13:00PM—14:30PM, Rm. 112, N-1, KAIST
(Lab) Thursday 19:00–20:30, Rm. 317, N-1, KAIST
(TA Office Hour) Monday 18:30–20:00, Rm. 2421, E3-1, KAIST

Teaching Assistants

Hyunho Ha (ex. 7864, )
Hakyung Kim (ex. 7864, )
Hyunjoong Jang (ex. 7864, )

Textbook & Materials

Steven J. Gortler (2012) Foundations of 3D Computer Graphics, MIT Press
Philip Dutré, Kavita Bala, Philippe Bekaert (2006) Advanced Global Illumination, 2nd ed., A K Peters Ltd.


Fundamental computer graphics courses such as CS380. Specifically, we assume OpenGL (or ES) programming experience in C (or C++) and a mobile programming experience. Note that no 3D graphics engine libraries such as Unreal engine, Unity, CryEngine, OGRE3D, etc, are allowed.


[Team1 TA: Hyunho Ha] about four people for each team
[Team2 TA: Hakyung Kim]
[Team3 TA: Hyunjoong Jang]

Tentative Schedule

  Index Date Lecture Project Lecture Lab
  1 09/03 Introduction to computer graphics and design Group teams slide01  
  2 09/05 Intro to OpenGL SL Refining groups slide02 labslide01
  3 09/10 Intro to OpenGL SL Design candidate (teams 1) slide02  
    09/12 No lecture (Chusuk holidays)      
  4 09/17 Linear transformation Design candidate (teams 2) slide03  
  5 09/19 Affine transformation Design candidate (teams 3) slide04 labslide02
  6 09/24 Respect Progress presentation (teams 1) slide05   
  7 09/26 Frames in graphics Progress presentation (teams 2) slide05  
  8 10/01 Hello3D Progress presentation (teams 3) slide06  
    10/03 No lecture (National Foundation Day)      
  9 10/08 Quaternions Progress presentation (teams 1) slide07  
  10 10/10 Arcball Progress presentation (teams 2) slide08 labslide03
    10/15 No lecture (PG 2019)      
  11 10/17 Camera projection Progress presentation (teams 3) slide09  
    10/22 Midterm exam (1:00pm--4:00pm)      
  12 10/29 Depth   slide10  
    10/31 No lecture (ICCV 2019)     No lab
  13 11/05 Special seminar (Christian Richardt [link])      
  14 11/07 Rasterization   slide11  
  15 11/12 Texture mapping Progress presentation (teams 1) slide12  
  16 11/14 Normal/shadow mapping Progress presentation (teams 2) slide13 labslide04
  17 11/19 Material appearance Progress presentation (teams 3) slide14  
  18 11/21 BRDF Progress presentation (teams 1) slide14  
  19 11/26 Light transport, & ray tracing Progress presentation (teams 2) slide15  
    11/28 No lecture due to the college entrance exam      
  20 12/03 (Team project) final presentation Progress presentation (teams 3), Team 1    
    12/05 No lecture      
  21 12/10 (Team project) final presentation Team 2    
  22 12/12 (Team project) final presentation Team 3    
  23 12/11 Final exam (1:00pm--4:00pm)      


Class participation: 10%
Midterm exam: 20%
Final exam: 20%
Team project: 50%


Reference book website
Android Studio
Java JDK 8
OpenGL Shade Language
GLFW (similar to GLUT)
Wolfram MathWorld
Theoretical CS Cheat Sheet
Theoretical Computer Science Cheat Sheet

Hosted by Visual Computing Laboratory, School of Computing, KAIST.