Introduction

In this tutorial, you will first add shading and shadows, and then you will implement a new features from a list of choices.

Task 1: Shading and Shadows

Implement shading and shadows. You may reuse you solutions from previous tutorials, just beware of copy-paste errors. Also, add GUI elements and run-time shader recompilation, to ease project development.

Task 2: Choose one project

Read through the description of all projects (they are fairly short), and then choose one. If you have own suggestions of features to implement instead, a lab assistant may approve them if the scope is suitable (not trivial and not too much work). If you want to implement a larger project that do not fit into the scope of this course, we recommend you to consider the Advanced computer graphics seminar course.

Projects

Screen Space Ambient Occlusion

Implement a modern global illumination approximation that is used in almost all video games today.

Particle System

Implement a particle system and leave a trail of fire behind you.

Heightfields

Render a large terrain (or fractal water) by displacing vertices from heightfield data.