-
Notifications
You must be signed in to change notification settings - Fork 25
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
Adding absorption #177
Comments
Have a look at the function Define high level function Loop in time while calling Is this enough or not? What is the scope of the issue, what is the intended application? If it is the "time until the particle dies" then the above covers that. |
It is not. The application is that every obstacle absorbs some of the energy of every photon. And that affects the amount of energy the photon will "give" to the retina when it passes through it. So to me it seems like it should be an intrinsic property of the photon and obstacles and not a value we keep track of in a specific function. It would mean that people will use that function and only that function for any kind of ray tracing. This might be fine but sounds forced, instead of giving the photon and obstacles their natural properties. But, look, this functionality is heavily coupled to the splitting behavior I mentioned before. Where a particle spawns an additional particle every time it hits an obstacle: splitting and absorption are possible only if the particle has energy. So unless we implement energy first then there's no point in absorption (or splitting). |
Alright, we have to open up an issue about |
Here is my suggestion: why don't we start with the EDIT: please open an issue to discuss the design and implementation of |
Obstacles will have to have a absorption index, or a complex refractive index with an absorption coefficient. They'll affect the intensity property of the Photon particle. Particles will need to therefore "die" following a probability depending on their intensity.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: