ketaro-m / acg-ketaro-m

acg-ketaro-m created by GitHub Classroom
MIT License
0 stars 0 forks source link

Applied Computer Graphics 4860-1084

Build_Win Build_Linux

Lecture at graduate school of information science and technology in the university of Tokyo, spring semester, 2022

ITC-LMS (for Slack and GitHub Classroom invitations):

Instructor

Dr. Nobuyuki Umetani

Time

Monday 3rd period, 13:00pm - 14:30pm

Course Description

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, Eigen matrix library, Git and cmake.

Topics:

Lecture Schedule

Day Topic Assignment Slide
(1)
Apr. 11
Introduction
graphics pipeline
[3]
(2)
Apr. 18
Coordinate transfrormation
barycentric transformation
task00 [4] , [5]
(3)
Apr. 25
Coordinate transformation2 task01 -
(5)
May 2
Rasterization task02 [6]
(4)
May 9
Ray Casting I task03 [7]
(6)
May 16
Ray Casting II task04 [8]
(7)
May 23
Parametric curves / surfaces task05 [9]
(8)
June 6
Character deformation task06 [10], [11]
(9)
June 13
Optimization task07 [12]
(10)
June 20
Laplacian mesh deformation task08 [13]
(11)
June 27
Guest lecture by Dr. Ryoichi Ando - -
(12)
July 4
Grid-based Fluid Ⅰ task09 [14]
(13)
July 11
Grid-based Fluid Ⅱ - [15]

Grading

Assignemnts

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.

How to Submit the Assignments

Task ID Title Thumbnail
task00 build C++ Program with CMake
task01 2D Homography Transformation
task02 GLSL Vertex Shader (Fisheye Lens)
task03 GLSL Fragment Shader (Sphere Tracing / SDF)
task04 Importance Sampling (Ambient Occlusion)
task05 Rasterization of Cubic Bézier Curves (Sturm's Method)
task06 Linear Blend Skinning (Articulated Rigid Body, Inverse Binding Matrix)
task07 Inverse Kinematics (Levenberg–Marquardt method)
task08 Laplacian Mesh Deformation (Quadratic Programming, Sparse Matrix)
task09 Poisson Image Editing((Gauss-Seidel method, pybind11))

Policy

Slides

Reading Material