Lecture at graduate school of information science and technology in the university of Tokyo, spring semester, 2024
UTOL (UTokyo-LMS) (for Zoom URL, Slack and GitHub Classroom invitations):
Dr. Nobuyuki Umetani
- email: n.umetani@gmail.com
- url: http://www.nobuyuki-umetani.com/
- lab's web page: https://cgenglab.github.io/labpage/en/
TA: Kenji Tojo
Monday 2nd period, 10:25am - 12:10pm
Computer graphics is a technology to computationally represent objects' geometry, appearance and movement. This course is an introduction to the techniques generally seen in computer graphics. The aim of the course is to get familiar with applied mathematics such as linear algebra, vector analysis, partial differential equations, numerical analysis and optimization through the topics in computer graphics. There are C++ programming assignments to acquire research-oriented graphics programming skills such as OpenGL, shader programming, Eigen matrix library, Git and cmake.
Topics:
- affine transformation & homography
- character animation (forward & inverse kinematics)
- visualization (rasterization / ray casting)
- optimization ( continuous optimization / dynamic programming )
- parametric curves & surfaces
- variational mesh deformation
- grid-based fluid simulation
Day | Topic | Assignment | Slide |
---|---|---|---|
(1) Apr. 8 |
Introduction Didigital image |
[1], [4] | |
(2) Apr. 15 |
Parametric curves / surfaces Rasterization in 2D, Digital Differential Analyzer |
task01 | [5] [6] |
(3) Apr. 22 |
Parametric representation Bézier curve, polynominal |
task02 | [7] [8] |
(5) May 7 |
Coordinate transformation Affine, homography transformation |
task03 | [9] [10] [11] |
(4) May 13 |
Graphics pipeline depth buffer method, shading, shadow, anti aliasing |
task04 | [12] [13] |
(6) May 20 |
Ray Casting 1 spatial data structure |
task05 | [14] [16] |
(7) May 27 |
Ray Casting 2 Rendering equation, Monte Carlo integration |
task06 | [15] [17] [18] [19] |
(8) June 3 |
Character animation Skeletal animation |
task07 | [21] |
(9) June 10 |
Guest lecture by Dr. Rex West | ||
(10) June 17 |
Character animation2 linear blend skinning |
task08 | [20] |
(11) June 24 |
Optimization Newton-Raphson method, gradient descent |
[22] | |
(12) July 1 |
Laplacian mesh deformation Sparse linear system |
task09 | [23] [24] |
(13) July 8 |
Grid-based Fluid Poisson equation, Stam fluid |
[25] |
- 20% lecture attendance
- Attendance is counted based on writing a secret keyword on LMS. The keyword is announced for each lecture.
- 80% small assignments
- see below
There are many small programming assignments.
To do the assignments, you need to create your own copy of this repository through GitHub Classroom.
These assignments need to be submitted using pull request functionality of the GitHub.
Look at the following document.
Task ID | Title | Thumbnail |
---|---|---|
task01 | Rasterization of lines and polygons DDA, winding number |
|
task02 | Rasterization of parametric curves Quadratic Bézier curve, root of polynominal |
|
task03 | Perspectively-correct texture mapping rasterization of triangle, barycentric coordinate |
|
task04 | Vertex shader practice Rendering pipeline, mirror reflection, OpenGL |
|
task05 | Fragment shader practice Ray marching method, CSG modeling, implicit modeling |
|
task06 | Monte Carlo integration1 Ambient occlusion, importance sampling, BVH |
|
task07 | Monte Carlo integration2 Multiple importance sampling |
|
task08 | Skeletal Character Animation Linear blend skinning, articulated rigid body |
|
task09 | Laplacian Mesh Deformation Quadratic programming, sparse linear system |
- Do the assignment by yourself. Do not share the answers of the assignments.
- Late submission of an assignment is subject to grade deduction.
- Score each assignment will not be open soon (instructor needs to adjust weight of the score later).
- The assignments might not be graded soon.
- Introduction to Computer Graphics by Cem Yuksel](https://www.youtube.com/watch?v=vLSphLtKQ0o&list=PLplnkTzzqsZTfYh4UbhLGpI5kGd5oW_Hh)
- Scratchpixel 2.0
- Awesome Computer Graphics (GitHub)
- Skinning: Real-time Shape Deformation SIGGRAPH 2014 Course
- Physics-based Animation2023S (Another course by the instructor)
- Physics-based Animation2021S (Another course by the instructor)
- Applied Computer Graphics 2022S (The same course two years ago)