Project 08 - Radiosity effects & Caustics with Final Gathering

In this project, I have implemented various global illumination effects: ambient occlusion, environmental illumination, color bleeding and caustics.

The source code of this project is available here. It is a bit messy currently, but I will try to clean it up later.

Videos

Video 1: Ambient occlusion using a sphere of changing radius.

Video 2: Caustics.

Images

Click on the images to view full size version.

Image 0: Ambient occlusion using a sphere with varying radius - 1, 4, 16, 32 respectively.

Image 1: Ambient occlusion using a sphere with infinite radius - sphere conference.

Image 2: Ambient occlusion using a sphere with infinite radius - sphere tower.

Image 3: Ambient occlusion using a sphere with infinite radius - teapot, armadillo man and buddha.

Image 4: Environmental illumination with a gradient-style light.

Image 5: Environmental illumination - bunny.

Image 6: Environmental illumination - armadillo man on the road.

Image 7: Environmental illumination - trying to render a Lamborghini Aventador into the background image.

Image 8: Color bleeding - spheres.

Image 9: Color bleeding - spheres with five elements, gold, wood, water, fire and earth.

Image 10: Color bleeding - bunny.

Image 11: Caustics by transparent objects - teapot, cube and sphers.

Image 12: Caustics by transparent objects - dragons.

Image 13: Caustics by transparent objects - Lamborghini Aventador.

Image 14: Caustics by specular objects. This is a tonemapped version. The original HDR image is here, as well as a linear-mapped LDR version.

Image 15: Caustics by specular objects and transparent objects.

Image 16: Cornell box with stained glass lighting. I put almost everything together in this image, like DOF, color bleeding, caustics by both specular object and transparent object, specular and glossy reflection. Aslo, this image is a tonemapped version. The original is stored as an HDR image, and you can also see a linear-mapped LDR version here.