Menu
Introduction to Computer Graphics
2020 Fall
Office Hour | 13:20~16:20, wednesday or By appointment |
---|
Lectures
Week | Content | Notes | Assignment |
---|---|---|---|
01 |
| [Lecture 01] [Lecture 02] [Lecture 03] [Lecture 04] |
|
02 |
| [Lecture 06] [Lecture 05] |
|
03 |
| [Lecture 07] |
|
04 |
| [Lecture 08] |
|
05 |
| [Lecture 09] [Lecture 10] |
|
06 |
| [Lecture 12] [Lecture 11] |
|
07 |
| [Lecture13] |
|
08 |
| [Lecture 14] |
|
09 |
| [Lecture 15] |
|
10 |
| [Lecture 16] |
|
11 |
| [Lecture 17] |
|
12 |
| [Lecture 18] |
|
13 |
| [Lecture 20] [Lecture 19] |
|
14 |
| [Lecture 21] |
|
15 |
| [Lecture 22] |
|
16 |
|
| |
17 |
| ||
18 |
| ||
19 |
|
| |
20 |
|
|
PreRequisites
Reference books
- Reference interactive program website: http://graphics.cs.brown.edu/research/exploratory/freeSoftware/catalogs/repositoryApplets.html
| Mason Woo, et al. The OpenGL Programmer's Guide.
The current edition is the 6th edition, but for the purposes of this class an older edition would be OK too. If you don't want to buy this book, the complete contents of the older version is online in html. There used to be an online PDF version as well, but it seems to have vanished. The old edition is OK for most things, the critical chapter in the 6e will be provided online in class.
|
| Tomas Akenine-Mller and Eric Haines. Real Time Rendering, 3e.
|
Exam
Grading
- Mutual discussion and participation: 30%
- Projects (15, 10, 10, 10, 25% each): 70%
Programming Projects
Homework
- For each programming assignment, create a working directory named: YourStID-Name-AXX, e.g. \B10415001-張XX-A01\, and create solution files and source code files in the directory
- After finishing your work, zip the working directory with solution/project files and source code files only into a file name: YourStID-Name-AXX.zip.Keep your files as concisely as possible.
- Upload the zip file to Moodle.
- Remarks: to make sure your uploaded work could be unzipped and compiled and tested correctly, suggest that you can download the uploaded file and test it again.(suggest compile RELEASE program to demo)
Syllabus
Tentative Syllabus
- Introduction
- Administrative matters
- What's computer graphics
- Light and the human visual system
- Color
- Image Algorithms and 2D Special Effects
- Images, quantization and sampling
- Image manipulations
- Flood fill, dithering
- Point processing (contrast enhancement, compositing)
- Filtering
- Raster graphics
- Coordinate systems and transformations
- Homogeneous vector and matrix notation
- 2D/3D transformations
- Chaining transformations
- Nonlinear transformations (free form deformation)
- The graphics pipeline and toolkits
- Graphics programming and OpenGL
- Event-drivenprogramming
- 3D Viewing and Projection:
- Perspective projection
- Viewing coordinate systemsand view volumes
- Clipping
- Hidden surface removal
- Introduction to Visibility
- Rendering
- Line and polygon scan conversion
- Painter's algorithm
- Z-buffer algorithm
- Local shading models
- Illumination and reflection
- Gouraud & Phong shading
- Texture mapping
- Modeling Hierarchies
- What hierarchies are and why we use them
- Matrix stack primitives
- Hierarchy algorithms
- Modeling examples
- Getting the right "control knob"
- Hierarchies w/nonlinear transformations
- Interface and implementation issues
- Geometric Modeling
- Modeling with polygons
- Spline curves: natrual, hermite, bezier, etc.
- Recursive subdivision, forward differencing
- Bicubic surfaces
- Solid primitives, sweeps, B-reps
- Implicit surfaces, quadrics, blobs
- Booleans, CSG
- Fractals
- GPU Related
- Shaders
- CUDA and OpenCL
- Raytracing
- Ray-surface intersection testing
- Ray casting
- Shadows and Transparency
- Recursive ray tracing
- Spatial data structures for optimization
- Global shading
- Animation
- Traditional cel animation
- Keyframes: state space points and trajectories
- Inbetweening: linear interpolation
- Interpolating splines, slow in and out, etc.
- Procedural animation
- Inverse Kinematics
- Dynamics and control
- Interface and implementation issues
- Other topics
Copyright © 2021 NTUST CSIE Computer Graphics Lab. All right reserved.