Project Description

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:

  • Integrators
    • Average Visibility Integrator
    • Direct Illumination Integrator
    • Path Tracing
  • Light Sampling
    • Spotlight
    • Shape Area Light
    • Photon Mapping
    • Multiple Importance Sampling
    • Environment Map Emitter
  • Materials
    • BRDF Sampling
    • Dielectric BSDF
    • Texture (images, mirror, bump maps, MIP map)
  • Motion Blur