Symbol Kategorie

Computer Graphics

Reiter

Computer Graphics

This page contains general informations about the lecture "Computer Graphics". Informations about the current lecture in winter term 2023/24 can be found here.

Description

The lecture covers the fundamental algorithms to synthesize images from 3D worlds. We learn how to simulate cameras, how to describe this mathematically, and how to rasterize primitives such as lines and triangles. We look into texturing of objects and lighting simulation. Finally, we learn the basics of image synthesis by ray tracing, and how to generate reflections and shadows with this technique. Computer Graphics is a good basis for most lectures in Visual Computing, in particular it is a required prerequisite for Interactive Computer Graphics and for Global Illumination.

Exercises

We offer two exercises for Computer Graphics. In the Basic Exercsises, we offer ten programming assignments, in which students have to write short pieces of (javascript) code that exemplify the lessons learned in the lecture. In the Advanced Exercises, we dive deeper, and also look into more sophisticated algorithms. The advanced exercises require programming in C++, but we give advice if students are new to this programming language.
To support with the exercises, we offer help during speaking hours in one of the CIP-Pools and via Zoom, as well as a Forum with offline support.
To pass the exercises, students have to achieve at least 50% of the possible points, both in the basic and the advanced exercises.

Module Variants

Computer Graphics comes in two flavors:
  • combined with the Basic Exercises to a 5 ECTS module
  • combined with both, the Basic and the Advanced Exercises as a 7.5 ECTS module
To pass one of these modules, one must pass the exercise(s) and a final, written exam over 60 minutes, which also determines the final grade.

Content

In detail, we look into:
  • 2D Graphics (HTML Canvas, SVG)
  • Color Models
  • GPU Programming (WebGL)
  • Rasterization Algorithms for Lines and Polygons
  • Affine and Projective Transformations
  • Homogeneous Coordinates
  • 3D Rotations
  • 3D Viewing and Perspective
  • Phong Lighting and Shading
  • Scene Graphs
  • Texture Mapping
  • Texture Antialiasing
  • Visibility
  • Virtual Reality
  • Geometric Modeling
  • Rendering Pipeline
  • Ray Tracing Basics
  • Ray Tracing Acceleration

Educational Objects and Skills

At the end of the course, students can
  • describe the processing steps in the graphics pipeline
  • explain, characterize and compute affine and perspective transformations in 2D and 3D, and provide an intuitive description of the general form of corresponding transformation matrices in homogeneous coordinates
  • depict techniques to compute depth, occlusion and visibility
  • compare different color models
  • describe data structures to represent 3D virtual models and complex scenes
  • explain the algorithms for rasterization and scan conversion
  • solve problems with shading and texturing of 3D virtual models
  • classify different shadowing techniques
  • explain the principles of ray tracing algorithms
  • explain the difference between local and global illumination techniques and formulate algorithms for ray tracig