Duration: | ±6 weeks |
---|---|
Date: | September-October 2012 |
Course: | Graphics programming 1 |
Tools used: | Jacco Bikker's Template Visual Studio 2010 Very sleepy |
This pathtracer is the successor of my raytracer project. It also started out as a raytracer. I later added the pathtracer in the same project so that each scene could both be raytraced and pathtraced. I used a single shader for everything, so that almost all materials could be simulated by adjusting only a couple of material values. This way I didn’t have to optimize and maintain different execution paths for different materials. The raytracer is still aimed to be somewhat realtime, while the pathtracer can converge much longer on a single image.
Features:
Recursive refraction and refraction on a glass sphere in raytrace mode showing off Fresnell falloff.
Normal mapping on the planes and Beer's law on the water in raytrace mode.
Path tracer with diffuse BRDF and specular BRDF.
Reflective floor (mixed diffuse and specular BRDF), notice the caustics on the bottom of the wall.
Fur ball. Created using multiple layers of an alpha mapped texture. The pathtracer algorithm automatically produces self shadowing and ambient occlusion
Fur ball above shallow water with sun and sky light.
Fur ball and glass sphere above deep water with sun and sky light.
Temple with 3 different colored area lights, a metal ball, and a glass ball with caustics.
Temple with torus knot, and 3 colored area lights.
Water temple by night with 3 small area lights. Rendered to an HDR buffer enabling bloom to be correctly colored for the bight light sources.
View down a hole/cave model.
View from the bottom of the hole/cave.
Entry for the pretty image contest.
Glass ring wave to test russian roulette sampling bias for caustics.