Last Update: December 2019
Download - Includes C++ sourcecode, Windows binary, and example scenes and Lua scripts.
- Multi-threaded raytracing via OpenMP.
- Uses Kd-tree acceleration structure for triangle meshes, and Bounding Interval Hierarchy for mesh instances.
- Supports explicitly-sampled textured rectangle area lightsources and emissive materials.
- Texture-mapped lightsources are importance-sampled using a quadtree.
- Has depth-of-field with optional polygon aperture shape.
- Implements texture sampling with nearest-neighbour, bilinear, or bicubic interpolation.
- Has importance-sampled HDRI environment lighting.
- Supports .cube file format for colour grading look-up tables.
- Provides Lua 5.1 integration as a shader language, using the LuaJIT library for performance.
- The Lua shader interface includes standard shader language functions such as mix, step, clamp, fract, noise, sample etc.
- Has a custom-made scene description language with a transform hierarchy similar to the legacy OpenGL transform stack.
- Lua is also provided as a procedural scene modelling language.
- Supports OBJ (and MTL) and OFF mesh formats.
- Supports PPM image format for input (for use with e.g. texture mapping) and output.
- Can use SQLite database to store all traced rays, which can then be processed externally to alter certain aspects of the rendered image without re-rendering.
- Written in C++17.
Timings shown here were measured on an Intel Xeon CPU E5-2687W v4 @ 3.00GHz, with 2 threads