clovers
clovers copied to clipboard
Ray Tracing in Rust
Initial implementation of Blue Noise Sampling, as described in . Fixes #166 Note: this is not a 100% full implementation yet - even when using the `--sampler blue`, _some_ decisions...
Currently, the `colorize` function relies on recursion. Switching this to a non-recursive implementation could give some benefits: - new optimization possibilities, e.g. ray sorting - potentially easier to add support...
This could potentially reduce some of the color noise caused by the uniform sampling of the wavelengths used for spectral sampling. See https://pbr-book.org/4ed/Cameras_and_Film/Film_and_Imaging#x2-SamplingSensorResponse
- Support for transparency in base color textures - Support for blend modes
- https://eheitzresearch.wordpress.com/762-2/ - rust impl https://github.com/Jasper-Bekkers/blue-noise-sampler
Currently, there's a manually-implemented `RotateY` meta object and a manually-implemented `Translate` meta object. These should be combined into a single `Transform` meta object that can be used for: - scale...
Currently, scene loading, including object initialization (especially STL files with tons of triangles) and BVH tree initialization, is done serially and single-threaded. Throw some `rayon` at it!