Skip to content

CS380: Introduction to Computer Graphics

Minhyuk Sung, KAIST, Spring 2023


Teaser1

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:

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)

Download

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.

Teaser
Myeongkyun Cho
Teaser
Hyewon Lee
Teaser
Huikyeong An
Teaser
Nguyen Minh Hieu
Teaser
Kyeongmin Yeo
Teaser
Yubin Lee
Teaser
Taeyoon Woo
Teaser
Minjun Kim
Teaser
Seongyun Heo
Teaser
Hyewon Lee
Teaser
Seongyun Heo
Teaser
Kyeongmin Yeo

Resources

Lighthouse3d.com tutorials
freeGLUT
OpenGL GLEW
OpenGL Shade Language
GLFW
GTK+


  1. Teaser image credits: Wikipedia and Pixar.