KAIST Logo

School of Computing
CS380: Computer Graphics (Spring 2024)


CS380: Computer Graphics (Spring 2024)

Instructor: Sung-eui Yoon


When and where: 14:30 ~ 16:00 on Mon and Wed (Online).
Office Hours: right after class time or by appointment
Note: Due to the class size, this course is primarily conducted online via YouTube or Zoom.
         * 2 or more lectures about OpenGL will be given by TAs at the practice class



Class Q&A
  • Previous Moodle or Noah boards: Spring 2014, Spring 2012
  • Language in the board: The official language is English. If you want to use Korean, you can use it, but please also provide English-version of your questions.
  • Additional Materials: Intro. to Computer Graphics, Shaders using OpenGL, Modern OpenGL Programming (Link, this link is only available for accessing from IP address 143.248.*.*)

  • Student information: Take the survey
    Your activities (HWs, Quiz, etc): Slide
    Question Page: Question submission form
    Paper Summary Page: Paper summary submission form
    Student Lecture and Paper Presentation Directions: direction document

    Prerequisites:
  • Basic knowledge of linear algebra
  • Basic programming skill, preferrably with C-like language (e.g., C, C++)
  • Textbook:
    Rendering, 1st edition, Sung-eui Yoon
    Language in class: We will use English, but I'll use Korean if necessary.


    Line

    Outline

  • Course overview
  • Lectures and tentative schedule
  • Additional reference materials
  • Line

    Course overview

    Fig. 1, Photo-realistic image generated by ray tracing method. (Image excerpted from PovRay homepage)

    In this course we will discuss various topics to create 2D images computationally generated from three dimensional model representations. Particularly, we will focus on the following topic:

  • Transformations and projections
  • Interaction
  • Rasterization
  • Hidden surface removal
  • Lighting, shadow, and shading
  • Model represetations (triangle meshes, curves, and surfaces)
  • Texture mapping
  • Ray tracing
  • Global illumination
  • Graphics hardware
  • What you will get at the end of the course:

  • Broad understanding on various topics related to computer graphics, geometric problems, and visualization
  • Programming skill and mathematical tools related to computer graphics and geometric problems.
  • Line

    Lecture schedule (subject to change)

  • Youtube list
  • Demos & References(.exe)
  • Trackball Demo
  • # of lecture, date Topics and slides Notice
    Feb - 26 (Mon.) Lecture 1: Overview on the course and course policy
    Feb - 28 (Wed.) Lecture 2: Screen Space & World Space PA1 Skeleton Code
    PA1 Spec.
    PA1 Reference EXE file
    *Below is a supplementary video for PA1
    Basic OpenGL Structure: Video | Slide
    Mar - 4 (Mon.) Lecture 3: 2D Transformation and Buffers
    Mar - 6 (Wed.) Lecture 4: 3D Transformation
    Zoom Q&A Session (2:30pm)
    *All of you are required to join zoom to have an attendance check.
    Mar - 11 (Mon.) Lecture 5: Modeling Transformation
    PA2
    Mar - 13 (Wed.) Lecture 6: Viewing Transformation
    Lecture 7: Interacting with a 3D World
    PA3
    *PA3 is optional. TA assistance for PA3 is not available.
    Mar - 18 (Mon.) Lecture 8: Clipping and Culling
    Mar - 20 (Wed.) Zoom Session (2:30pm)

    Basic topics keywords
    Talk Guideline
    *All of you are required to join zoom to have an attendance check.

    *Check out the two attached files (basic topic keywords, and talk guidelines) discussed during the Zoom session.
    Mar - 25 (Mon.) Lecture 9: Triangle Rasterization
    Mar - 27 (Wed.) Lecture 10: Illumination
    Apr - 01 (Mon.) Lecture 11: Illumination and Shading
    Apr - 03 (Wed.) Lecture 12: Texture Mapping
    Apr - 08 (Mon.) Lecture 13: Applications of Texture Mapping
    Zoom Session (2:30pm)

    *No attendance check for this zoom session

    Apr - 10 (Wed.)
    Apr - 15 (Mon.)
    Apr - 17 (Wed.)
    Apr - 22 (Mon.) Lecture 14: Ray Tracing
    Apr - 24 (Wed.) Lecture 15: Rendering Equation
    Apr - 29 (Mon.) Lecture 16: Monte Carlo Ray Tracing
    May - 01 (Wed.) TA Talk 1. Neural Radiance Fields
    Presenter: Youngju Na (TA)

    May - 6 (Mon.)
    May - 8 (Wed.) TA Talk2: Recent Advances in Rendering
    Presenter: KyuBeom Han (TA)

    May - 13 (Mon.)
    May - 15 (Wed.) TA Talk3: Diffusion Models
    Presenter: Jumin Lee (TA)

    May - 20 (Mon.)
    May - 22 (Wed.)

    Line

    Additional reference materials and links

    CS380 homepage at spring of 2020
    CS380 homepage at spring of 2017
    CS380 homepage at spring of 2014
    CS380 homepage at spring of 2012
    CS380 homepage at spring of 2011

    OpenGL:

  • Opengl-tutorial: Step by step OpenGL tutorial for OpenGL 3.3 and later
  • OpenGL.org: Has various documentation for OpenGL
  • OpenGL programming guide (the red book), Ver 1.1 or another site
  • OpenGL reference book (the blue book)
  • MSDN: A good reference for OpenGL functions
  • GLUT library for Win32
  • GLEW: OpenGL Extension Wrangler
  • GLUI: Simple OpenGL GUI Library
  • NeHe Productions: OpenGL Tutorials
  • Anton's OpenGL: OpenGL Tutorials(for OpenGL 4.x)
  • Useful information about computer graphics:

  • Real-time rendering resources
  • Paper search:

  • Google scholar
  • Tim Rowley's graphics paper collections
  • Ke-Sen Huang's graphics paper collections
  • Line

    Acknowledgements: The course materials are built upon previous efforts of whom organized computer graphics courses at Univ. of North Carolina at Chapel Hill. I'd like to thank all of them, particularly, Brandon LLoyd. Thanks! Line

    Copyright 2012. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the author.

    This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.