spherical-volume-rendering / svr-algorithm

A spherical volume rendering algorithm that performs ray casting through a spherical voxel grid.
Other
6 stars 7 forks source link

Multiple updates; test passer #103

Closed ak-2485 closed 4 years ago

ak-2485 commented 4 years ago

Multiple updates to the traversal phase, the azimuthal/angular hits, and the test cases. Traversal phase: remove costly array updates in traversal main. Azimuthal/angular hit: include collinear cases in conditionals, update time comparisons to use function strictly less than. Test cases: Update test cases based on (a) traversal choices for ambiguities such as ray collinear with boundaries and (b) corrections made by checking 3D vis. in GeoGebra.

cgyurgyik commented 4 years ago

IMO, the use of some_value == 1 decreases readability. Instead, use booleans.

if intersect_min == 1
     ...
end

versus

if is_intersect_min
    ...
end

There's also a lot of boolean reduction that can occur (I've tackled some of this in the cpp code already), but since this isn't the production code, not a big deal. Other than that, and the comment above, LGTM.