Open giraldeau opened 7 years ago
The Woo traversal is correctly implemented. Added a small cache for trigonometric calls. The hotspot seems the initialization of the ray traversal.
Multiple implementations for the parallel traversal using TBB. Duplicating the grids may use too much memory. One solution is to accumulate the result of a number of rays into a hashmap, then commit the result to the main grid using a global lock. Given that the ray computation is slow, some speedup can be achieved.
Theoretical ray simulation and intersection with voxel should be quite fast and is rather slow at the moment. Find and fix the issue.