* Use `float3` where possible
* Adjust names, introduce a utility `struct` to represent the accumulation
happening in the method
* Remove dead code
* Use `std::queue` instead of custom hand-written queue working on a
`Vector`
* Apply `const` where possible
* Use C++ math library
Pull Request: https://projects.blender.org/blender/blender/pulls/127212