Gaia is working!
Well, the basics are at least. I’ve implemented Kajiya’s rendering equation well enough to get physical looking results, but there’s still a long way to go. Monte Carlo integration or non-spherical objects for example…
Version 0.0.1 allows the rendering of simple scenes built from spheres, using idealised material BRDFs and basic lighting. The Oren-Nayar reflectance model was also implemented as a first attempt at a true BRDF, but the current implementation can leave unwanted artefacts.
The code is available on github: https://github.com/tim0901/Gaia
Release 0.0.1
Rendering methods:
- Distributed (stochastic) path tracing
Objects:
- Spheres
- Triangles (unstable)
Material BRDFs:
- Ideal Lambertian, dielectric, metallic
- Oren-Nayar reflectance model (buggy)
- Blinn-Phong shading model (in-progress)
- Diffuse area lights
Acceleration structures:
- In-core multithreading support
Output file types:
- .hdr
- .ppm
Plan for 0.0.2: quads and a Cornell box.