wahn / rs_pbrt

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...
https://www.rs-pbrt.org
Other
811 stars 59 forks source link

Explicit vectorization #98

Closed gnzlbg closed 5 years ago

gnzlbg commented 5 years ago

Consider using the packed_simd crate for explicit vectorization to, e.g., process multiple rays at once using SIMD instructions.

The packed_simd examples/ directory contains a ray-tracing example that implements ambient occlusion using explicit vectorization and rayon for parallelization.

wahn commented 5 years ago

Thanks for the suggestion. I will look into it at some point, but the main motivation was to be as close to the original source code. Once the code base between C++ and Rust is more or less the same I might do some additional improvements. It's also important at this stage to be able to run debug code on both the C++ and the Rust side to work on pixel by pixel matches. But further SIMD optimizations are on the horizon ... Thanks again.