RGB|xyz / Portfolio / Computer Graphics

Computer Graphics

Generating Soft Shadows in Real-time (master thesis)

Abstract

In this thesis we discuss problems of generating soft shadows in real-time. The thesis is divided into three parts. The first part represents an introduction to real-time rendering and illumination. The second part surveys the most popular shadowing methods. In the third part we present our method which exploits capability of recent graphic hardware and which produces physically correct soft shadows at interactive framerates for mediocre scenes. In the conclusion we perform an analysis of both visual and performance properties of each method and we summarize their advantages and drawbacks. We also provide a demonstrating software which implements all described methods.

Keywords: shadow algorithms, soft shadows, GPU programming

Gallery

Demonstration applicationVisibility Sampling produces physically correct shadowsSample scene using Visibility SamplingVisual comparison of implemented soft shadow algorithmsComparison of several approaches to soft shadowsExperimental Image Based Lighting using Visibility Sampling

Download

MiRT Raytracer

MiRT is a very simple and lightweight but extensible command-line ray-tracer written in C++. Originally started as a semestral project for course on Datastructures for Computer Graphics, it has been gradually extended with advanced features such as multi-threaded rendering, Photon Mapping and Lightcuts.

Gallery

Ambient occlusionDepth of fieldDiffuse Global Illumunation evaluated using Photon MappingPhoton Mapping – glossy Cornell boxVisualization of photons and their pathsMiRT in action

Download

Stable release is not available.

OpenGL Water Rendering with Caustics

A simple demonstration of how to use Cg shaders to render realistic real-time water in OpenGL.

Gallery

Simple water rendering with caustics

Download

Lightcuts for GOLEM

Implementation of Lightcuts and Multidimensional Lightcuts for GOLEM ray-tracer. Lightcuts represent a scalable approach for computing illumination from many (thousands, even millions) point lights. Using perception metrics, the algorithm can achieve strongly sublinear complexity relative to the number of lights.

Gallery

Test scene 1 – Cornell boxTest scene 2 – StairsTest scene 3 – Interior

Download

Genesis

Procedural (fractal) terrain generator with real-time visualization of water and sky in OpenGL. Unfinished.

Gallery

Terrain and waterSunsetApplication GUI

Download