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.