For the lecture “Computer Graphics” my task was to implement a ray-tracer. The basic framework to start with was Nori. During the semester we added basic functionality like light, different surfaces and materials. At the end, we had to implement additional self-defined features and render a picture to a given theme: Once upon a time.
For the final picture I rendered a fairy tale billiard in which each different pair of balls are representing a different fairy tale.
The ray-tracer currently contains following features:
- Average Visibility Integrator
- Direct Illumination Integrator
- Path Tracing
- Light Sampling
- Shape Area Light
- Photon Mapping
- Multiple Importance Sampling
- Environment Map Emitter
- BRDF Sampling
- Dielectric BSDF
- Texture (images, mirror, bump maps, MIP map)
- Motion Blur