Introduction

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

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.

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 does not fit into the scope of this course, we recommend you to consider the Advanced computer graphics seminar course.

Projects - Choose One

Screen Space Ambient Occlusion

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

Custom Environment Map

Create the irradiance and reflection maps for a custom environment map.

Heightfields

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

Particle System

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