Teaching
Computer Graphics (BMI007)
Organisation
Lecturer: | Prof. Dr. Renato Pajarola |
Assistant: | Luciano A. Romero Calla, Julian Croci |
Time: | Monday 14:00-15:45, Thursday 10:15-12:00 |
Location: | BIN 2.A.10 |
Language: | English |
OLAT: | Link to OLAT Campus Course |
Course Catalogue: | Link to UZH Course Catalogue |
Overview
Computer graphics has ubiquitously penetrated our modern life, be it from the special effects in movies, gaming consoles, interactive graphics on handheld devices or data visualization on a variety of devices. The foundations of interactive 3D computer graphics include a wide range of topics such as graphics systems architectures, polygonal 3D modeling, illumination and shading from light, vector and matrix operations, geometric transformations, viewing in 3D, visibility and occlusion culling, clipping or rasterization. In this lecture we will review these fundamental concepts, algorithms, and data structures of interactive 3D computer graphics. Furthermore, we will cover some additional advanced topics such as physically based rendering, photorealistic rendering, e.g. using recursive ray-tracing and path-tracing, geometry and point cloud processing, and scientific visualization.
The lecture will also include some small practical programming exercises to be done in Open GL and C++.
Content
Foundations of interactive 3D computer graphics such as graphics systems, polygonal modeling, illumination and shading, geometric transformations, viewing in 3D, visibility, clipping, rasterization, physically based rendering, geometry and point cloud processing, and scientific visualization.
- 3D Object Modeling and Representation
- Geometric Transformations
- Illumination and Shading
- Viewing in 3D
- Visible Surface Methods
- 2D Raster Graphics Algorithms
- Graphics Rendering Pipeline
- Physically Based Rendering
- Ray-Tracing
- Point Cloud Processing
- Scientific Visualization
Literature
- Interactive Computer Graphics: A top-down approach with shader-based OpenGL. by Edward Angel and David Shreiner, Addison-Wesley. 6th Edition, 2012.
- Real-Time Rendering, Fourth Edition by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire. CRC Press, 2018.
Completion Requirements
Reading
As a standing homework assignment you are required to read the corresponding book chapters in parallel to the lectures covering them. Read the following suggested book chapters from [1] in accordance with the corresponding class lectures:
- Introduction: Chapters 1, 2.1-2.6
- Vectors and Geometric Models: Chapters 3.1-3.6, 4.9, 8.1-8.4, 8.8-8.9 and Appendix B
- Geometric Transformations and Matrices: Chapters 3.7-3.11 and Appendix C
- Illumination and Shading: Chapter 5
- Rasterization: Chapters 6.1-6.2, 6.8-6.10, 6.12
- Mapping: Chapter 7
- Viewing: Chapters 4.1-4.7
- Visibility: Chapters 4.8, 4.10, 6.11
- Ray Tracing: Chapters 11.1-11.4
Homework
To pass the lecture, students must have completed the distributed exercises as instructed at the beginning of the lecture.
Examination
The lecture will be completed with a written exam at the end of the semester. The exam is scheduled according to the standard UZH/OEC/IFI regulations, see also the VVZ link (at the top).
Syllabus
This is a tentative schedule of the topics covered during the semester.
Lecture Week | Topics | Slides | Exercises |
Introduction, Graphics API | All slides can be found on OLAT (see link at the top). | ||
Vectors Geometric Modeling | |||
Geometric Modeling | |||
Rendering Meshes |
|
||
Transformations |
|
||
Composite Transforms | |||
Illumination & Light Sources | |||
Shading & Shaders | |||
Rasterization | |||
Texture Mapping | |||
Viewing | |||
Projections | |||
Visibility & Shadows |
|||
Physically Based Rendering | |||
Ray Tracing | |||
Geometry and Point Cloud Processing | |||
Scientific Visualization |