Monte Carlo rendering brings many problems to the table, and will be something that I continue to develop over a long period of time. Version 0.0.3 begins this process, which will be developed over the coming versions, but for now is non-functional for all but the most basic scenes.
Version 0.0.3 also implements the Gooch shading algorithm, as proposed in her paperĀ here. This shading algorithm results in a cool-warm gradient on the object, orientated towards a specified light. The specifics of how this works will be outlined in a future post. This gives a more cartoonish visual, which could be combined with other techniques such as edge lines to create a non-photorealistic appearance.
Release 0.0.3
Rendering methods:
- Distributed (stochastic) path tracing
- Monte Carlo path tracing (in-progress) (new)
Objects:
- Spheres
- Quads
- Triangles (unstable)
Material BRDFs:
- Ideal Lambertian, dielectric, metallic
- Oren-Nayar reflectance model (buggy)
- Blinn-Phong shading model (in-progress)
- Diffuse area lights
- Gooch shading (new)
Acceleration structures:
- In-core multithreading support
Output file types:
- .hdr
- .ppm
Next release: edge detection and edge line pass