CS380: Introduction to Computer Graphics
Minhyuk Sung, KAIST, Spring 2023
Description
This course provides an introduction to the fundamental concepts of computer graphics. Computer graphics is a core technology used in film, video game development, design, and digital photography, as well as a variety of other fields such as entertainment, engineering, scientific visualization, architecture, and manufacturing. The course covers the fundamental algorithms and technologies used to generate computer graphics, including topics like geometric transformations, camera transformations, rendering processes, material and texture mapping, color representation, lighting simulation, geometric representation, and animation.
Time & Location
Lectures
Time: Mon/Wed 10:30 am - 11:45 am (KST).
Location: Building N1, Room 102.
Labs
Time: Mon 7:00 pm - 9:00 pm (KST).
Location: Building N1, Room 102.
Course Staff
Instructor: Minhyuk Sung (mhsung@kaist.ac.kr)
Office hours: By appointment (See Campuswire.)
Course Assistants:
- Juil Koo (63days@kaist.ac.kr)
- Hyunjin Kim (rlaguswls98@kaist.ac.kr)
- Kunho Kim (kaist984@kaist.ac.kr)
- Eunji Hong (hong969@kaist.ac.kr)
- Jaihoon Kim (jh27kim@kaist.ac.kr)
- Seungwoo Yoo (dreamy1534@kaist.ac.kr)
Prerequisites
The following course is not required but recommended:
- MAS109: Introduction to Linear Algebra
Students are also expected to have good programming skills in C++.
Textbook
Steven J. Gortler, Foundations of 3D Computer Graphics, MIT Press (2012) (available at KAIST library)
Textbook website: http://www.3dgraphicsfoundations.com/
Supplementary Textbooks
John Hughes, Andries van Dam, Morgan McGuire, David Sklar, James Foley, Steven Feiner, and Kurt Akeley, Computer Graphics: Principles and Practice, 3rd Edition, Addison-Wesley Professional (2013)
Donald D. Hearn, Pauline Baker, and Warren Carithers, Computer Graphics with Open GL, Pearson New International Edition, 4th edition, Pearson (2013)
Grading
- Assignments: 50%
- Midterm Exam: 20%
- Final Exam: 20%
- Participation: 10%
Course Logistics
(Last Update: Feb 27, 2023)
Assignments
ALL ASSIGNMENTS ARE DUE 23:59 KST.
Each assignment allows up to two late days with a penalty of 20% per assignment.
Assignment | Topic | Textbook Chapters | Slides | Code | Due Date |
---|---|---|---|---|---|
0 | Programming Environment Setup | Slides | |||
1 | HelloWorld2D | 1, Appendix A | Slides | Code | Mar 19 (Sun) |
2 | HelloWorld3D | 2-6 | Slides | Code | Mar 29 (Wed) |
3 | Quaternions + Arcball | 7, 8 | Slides | Code | Apr 9 (Sun) |
4 | Hierarchical Transformations and Picking | 5.4 | Slides | Code | Apr 30 (Sun) |
5 | Keyframe Animation: Part I | 9 | Slides | Code | May 14 (Sun) |
6 | Keyframe Animation: Part II | 9 | Slides | Code | May 21 (Sun) |
7 | Materials and Bump Mapping | 15 | Slides | Code | Jun 4 (Sun) |
8 | Meshes and Subdivision Surfaces | 22 | Slides | Code | Jun 11 (Sun) |
Schedule
(Subject to Change)
Week | Mon | Topic | Wed | Topic | Supplementary |
---|---|---|---|---|---|
1 | Feb 27 | Introduction Slides |
Mar 1 | No Class (Independence Movement Day) |
|
2 | Mar 6 | Linear Slides |
Mar 10 (Fri) | Affine Slides |
|
3 | Mar 13 | Introduction to OpenGL Slides Lab Session 1 |
Mar 15 | Respect Slides |
|
4 | Mar 20 | Frames in Graphics Slides |
Mar 22 | Hello World 3D Slides Lab Session 2 |
|
5 | Mar 27 | Arcball / Trackball / Quaternion 1 Slides Lab Session 3 |
Mar 29 | Quaternion 2 Slides |
Quaternion Hughes et al., Ch. 11W. |
6 | Apr 3 | Bezier Curves Slides Lab Session 4-1 |
Apr 5 | Smooth Interpolation Slides 1 Slides 2 |
Polar Forms Floater Spines Hughes et al., Ch. 22W. |
7 | Apr 10 | Subdivision Surfaces Slides 1 Slides 2 Lab Session 4-2 |
Apr 12 | Midterm Summary | |
8 | Apr 17 | No Class (Midterm Week) |
Apr 19 | Midterm | |
9 | Apr 24 | Camera Projection Slides |
Apr 26 | Depth / Rasterization Slides 1 Slides 2 |
Projective Geometry Birchfield Cameras Hughes et al., Ch. 13W. DLT Hartley and Zisserman, Ch 4.1, 7.1. |
10 | May 1 | Varying Variables Slides Lab Session 5 |
May 3 | Material Slides |
Interpolation Buss, Ch V. |
11 | May 8 | Texture Mapping Slides Lab Session 6 |
May 10 | Sampling Slides 1 Slides 2 |
Shadow Mapping opengl-tutorial |
12 | May 15 | Reconstruction Slides |
May 17 | Break | |
13 | May 22 | Color Slides 1 Slides 2 Lab Session 7 |
May 24 | Guest Lecture | |
14 | May 29 | Ray Tracing Slides Lab Session 8 |
May 31 | Radiometry and Global Illumination Slides |
Radiometry and Global Illumination Weyrich et al. |
15 | Jun 5 | Neural Rendering Slides |
Jun 7 | Final Summary | |
16 | Jun 12 | No Class (Final Week) |
Jun 14 | Final |
Hall of Fame
Here are the selected 3D models crafted by our students. The models are rendered using OpenGL.
Myeongkyun Cho |
Hyewon Lee |
---|---|
Huikyeong An |
Nguyen Minh Hieu |
Kyeongmin Yeo |
Yubin Lee |
Taeyoon Woo |
Minjun Kim |
Seongyun Heo |
Hyewon Lee |
Seongyun Heo |
Kyeongmin Yeo |
Resources
Lighthouse3d.com tutorials
freeGLUT
OpenGL GLEW
OpenGL Shade Language
GLFW
GTK+
-
Teaser image credits: Wikipedia and Pixar. ↩