February 2016 – Present

Iris is an open-source raytracer written in C++ that embeds Lua to assemble scenes to be traced.

Project goals

  • Learn and implement fundamental ray tracing and computer graphics concepts.
  • Improve both C++ and Lua skills.
  • Get used to using Git, CMake and software engineering concepts in big projects.
  • Learn how Lua’s C API works and embed it.

Key features (1.0.0)

  • A Lua API to create scenes using fluent interface.
  • Two primitive objects: sphere and plane.
  • Sampling techniques supported: Hammersley, Jittered, Multi-Jittered, N-Rooks, Random and Regular.
  • Matte and plastic materials. Iris renders matte materials with a Lambertian BRDF and Plastic materials either with a Phong or a Blinn-Phong BRDF.
  • Orthographic and perspective viewing systems.
  • Point and directional lights.
  • Shadows.

Source Code