Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix intersection mechanic around floating-point limit. #126

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

JLBegin
Copy link
Contributor

@JLBegin JLBegin commented Dec 14, 2024

Changes most of the intersection behavior at the smaller scale (around floating point limit) to address many issues like photons leaving a geometry without intersecting, photons getting stuck (refraction loop), photons surfing (reflection loop) and general energy conservation issues.

Other aspects of the propagation and large-scale intersection logic were also fixed along the way.

Extensively tested in extreme cases with small structures and very low scattering distances (up to mu_t around 1000).

Changes

  • ...

might not work with fast intersector for now (which is not used in opencl)
simply break when bbox distance is greater than current current intersection distance.
…t with same-solid distance condition

which cancels back catch (and all intersections for that matter) if there is an intersection further away that sends the photon towards its current environment.
@JLBegin JLBegin added bug Something isn't working performance Improvement of calculation performance labels Dec 14, 2024
@JLBegin JLBegin self-assigned this Dec 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working performance Improvement of calculation performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant