On these pages you will find information about projects that I've worked on.

Realistic Rendering of Virtual Worlds

Completed: July 2011
Languages:C++, GLSL
Libs/Frameworks: OpenSceneGraph, OpenGL

This is my computer science bachelor thesis project at Delft University of Technology. In this project our goal was to develop and integrate a deferred rendering pipeline into the scene graph of an existing application: Sketch-A-World by Ruben Smelik. Scene graphs are a nice way for representing 3D model positions (game worlds), while also providing an intuitive way to manage draw state parameters which define the way each object is rendered. Deferred rendering is a modern rendering approach used in games such as Crysis 2 and Killzone 2 that efficiently supports many dynamic light sources.

We succesfully represented the deferred rendering pipeline as an actual part of the scene graph. A draw traversal of the scene graph then actually executes the deferred rendering pipeline. Dynamic light sources and features such as post processing effects can be added on the fly by inserting and removing nodes from the graph. We also implemented a range of interactive rendering techniques that were modern in 2011, including HDR lighting and tonemapping, bloom in HDR, cascaded shadow maps, percentage closer soft shadows, parallax mapping and screen-space ambient occlusion. Our final mark for this project was a 9.5/10.

I was particularly responsible for both shadow mapping methods. We used cascaded shadow mapping for outdoor lighting (directional lights) and percentage closer soft shadows for spotlights. This project has been very valuable for me in giving me practical experience with shader programming, geometric transformations and the many untold challenges in tweaking shadow mapping techniques.

All projects

Click any thumbnail to view project details.

Game addons

Short games




Design by Sylvia Strijk