## Goals

At the end of the Computer Graphics course, the student should be able to

- understand the theoretical/mathematical fundamentals in computer graphics
- understand the programming fundamentals in computer graphics
- understand the current strengths and weaknesses of 3D graphics algorithms
- have insight into ray tracing algorithms
- have insight into illumination and rendering
- have insight into interactive line and surface models
- have insight into high performance computer graphics software systems
- have insight into theoretical and practical problems in computer graphics
- build a computer graphics program

## Description

The goal of this course is to create a foundation (theory and programming) for understanding the current and future technology underlying computer graphics. Our intention is to create a synergistic mixture of theory and practice. The first part of the class begins with introductory lectures into the mathematical fundamentals and workshops in programming 3D graphics. In the second half of the semester, the class moves to current state of the art methods which are presented by the students. Examples of typical subjects which will be covered are:

- 3D modeling
- 3D lighting & effects
- Real time rendering
- Advanced applications and systems

## Prerequisites

The student should be fluent in C/C++ programming.

## Literature

- All educational materials are supplied digitally.
- Optional reading: Computer Graphics Using Open GL by F. S. Hill, Jr. (Prentice-Hall, 2001 or later, ISBN: 0-02-354856-8) 2006 – 3rd Edition: ISBN-13: 978-0131496705
- Research papers from recent ACM conferences and journals

## Table of contents

- Introduction to computer graphics and OpenGL
- Mathematical fundamentals
- Transformations: Translation, Rotation, Scaling
- Homogeneous transformations
- Viewports
- Parallel, oblique, and perspective Projections
- Line and surface representations
- Hermite and Bezier modeling
- Diffuse and Specular Shading
- Ray Tracing
- Hidden surface removal
- Radiosity
- Particle systems
- High performance rendering algorithms
- State-of-the-art research directions

## Work-forms

lectures

seminar

student discussions

presentations

software assignments

## Examination

The final grade is composed of

- Presentation and home work (30%)
- Software assignments/workshops (20%)
- Project or Exam (50%)

Projects are evaluated using guidelines similar to the Bachelor project:

- Project work – level of difficulty, contributions and quality of ideas and implementation
- Project paper – scientific summary and assessment of project
- Execution – planning and systematic application of methods
- Presentation – clarity, knowledge, scientific assessment of the project

## Contact

Onderwijscoördinator Informatica, Riet Derogee