## 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