Advanced Course in Computer Graphics

Class Information

  • Instructor: Edgar SIMO-SERRA
  • Dates: Oct, 2023〜Jan, 2024
  • Lectures: Monday, 2nd Period (10:40〜12:20)
  • Room: 54-303
  • E-mail: ess@waseda.jp

Overview

この授業のスライドと講義は主に英語ですが、必要に応じて日本語でも説明します。または、日本語の講義資料もあります。
The class slides, materials, and explanations are primarily in English, however, additional explanations will be given in Japanese as needed.
Depending on the evolution of the corona virus, details are subject to change.

Have you ever wondered how game and 3D animation movie effects are generated? Have you heard of Graphics Processing Units (GPU) but aren’t sure how they differ from normal Central Processing Units (CPU)? Have you ever wanted to learn how to create generative design using pure mathematics? If you have said yes to any of those questions, or if you just have curiosity about computer graphics in general, this is the advanced course for you. We will go into depth regarding modern graphics processing engines, and you will have lots of practical programming exercises to hone the skills you acquire during this course.

This course will focus on different areas of computer graphics with an emphasis on important innovations, including, but not limited to, parametric modeling, rasterization pipelines, GPU programming, color theory, and rendering. We will focus on a set of pivotal computer graphics breakthrough and will develop the theory necessary to understand them and implement them.

Evaluation

The course will be evaluated mainly on based smaller individual works (50%), and a larger group work (50%).

The programming assignments and project will be done in WebGL (mainly Javascript) using GLSL (similar to the C programming language). While the basics of WebGL and GLSL will be taught in this class, it is highly recommended that students complement this with self-study using the additional resources. It is highly recommended that students have familiarity with the C programming language.

Student Works

You can see a selection of works from students here: 2021 2022

Course Objectives

  1. Understand core concepts of how to generate images
  2. Be able write programs for Graphics Processing Units (GPU)
  3. Appreciation of a diversity of computer graphics fields
  4. Learn about recent advanced computer graphics techniques

Preparation

You will need a computer that supports WebGL 2. You can check below.

The following are slides that are meant to refresh basic concepts that are used throughout the lessons. Students are advised to review the following concepts before starting the class.

  1. Mathematics Refresher slides

Class Schedule

  1. Overview slides
  2. Signal and Image Processing slides
  3. Shaders slides notes RTR Chapter 3
  4. Generative Design slides
  5. 3D Scenes slides RTR Chapter 4 and 16
  6. Texturing and Rasterization slides RTR Chapter 5 and 6
  7. Shading and Lighting slides RTR Chapter 5 and 7
  8. Ray Tracing and Marching slides notes RTR Chapter 22
  9. Physically Based Shading slides RTR Chapter 9
  10. Illumination slides RTR Chapter 10
  11. Global Illumination slides RTR Chapter 11
  12. Volumes and Translucency slides RTR Chapter 14
  13. Review slides
  14. Presentation slides

Textbook

The closest thing to a textbook for this class is:

  • RTR Tomas Akenine-Möller, Eric Haines, and Naty Hoffman, Real-Time Rendering, A K Peters/CRC Press, 2018. ISBN: 978-1138627000 website

However, note that the above book is not required and you can borrow it online from the Waseda Library if necessary. Furthermore, other books and resources that can be useful are listed below.

  • Matt Pharr, Wenzel Jakob, Greg Humphreys, Physically Based Rendering, Morgan Kaufmann, 2016. ISBN: 978-0128006450 website
  • Patricio Gonzalez Vivo, and Jen Lowe, The Book of Shaders, website
  • David J. Eck, Introduction to Computer Graphics, 2021. website
  • Steve Marschner and Pete Shirley, Fundamentals of Computer Graphics, A K Peters, 2015. ISBN: 978-1482229394.