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.
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
- Understand core concepts of how to generate images
- Be able write programs for Graphics Processing Units (GPU)
- Appreciation of a diversity of computer graphics fields
- 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.
- Mathematics Refresher slides
Class Schedule
- Overview slides
- Signal and Image Processing slides
- Shaders slides notes RTR Chapter 3
- Generative Design slides
- 3D Scenes slides RTR Chapter 4 and 16
- Texturing and Rasterization slides RTR Chapter 5 and 6
- Shading and Lighting slides RTR Chapter 5 and 7
- Ray Tracing and Marching slides notes RTR Chapter 22
- Physically Based Shading slides RTR Chapter 9
- Illumination slides RTR Chapter 10
- Global Illumination slides RTR Chapter 11
- Volumes and Translucency slides RTR Chapter 14
- Review slides
- 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.