You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The current raytracing solution treats sound like light, but sound travels in circular/spherical waves.
Describe the solution you'd like
Split a ray into multiple rays whenever a lone-ray no longer properly samples the environment as a circular/spherical wave would.
Some examples are whenever a ray:
Is reflected.
Travels a certain distance (and is likely distant from other rays).
Passes an object, needing diffusion
Performance considerations:
Apply restrictions to ray-splitting.
Decrease amplitude of any secondary ray.
Limit total rays separately from initial rays.
Use a queue, and append all secondary rays to said queue.
Rework: Treat each reflection independently (ignoring ray-paths).
The arcs would need to be physically accurate, and more research would be needed to get this right. One (unvetted) approach would be to treat the current theta allotted to each initial ray as the global arc. This approach would have the (theoretical) benefit of improving the quality of sound for lower-end computers using less-intensive settings.
My current way of thinking about ray quantities is:
initial × (2^((initialDistance-splitDistance)/bounceEstimate)-1)
mikenrafter
changed the title
Simulate waves better
Add refraction (w/ sound shadows & temperature effects), and wave-arc propagation to rays
Jun 15, 2023
mikenrafter
changed the title
Add refraction (w/ sound shadows & temperature effects), and wave-arc propagation to rays
Add Wave Refraction & Diffusion
Jun 15, 2023
mikenrafter
changed the title
Add Wave Refraction & Diffusion
Wave Refraction & Diffusion
Jun 15, 2023
Is your feature request related to a problem? Please describe.
The current raytracing solution treats sound like light, but sound travels in circular/spherical waves.
Describe the solution you'd like
Split a ray into multiple rays whenever a lone-ray no longer properly samples the environment as a circular/spherical wave would.
Some examples are whenever a ray:
Performance considerations:
The arcs would need to be physically accurate, and more research would be needed to get this right. One (unvetted) approach would be to treat the current theta allotted to each initial ray as the global arc. This approach would have the (theoretical) benefit of improving the quality of sound for lower-end computers using less-intensive settings.
My current way of thinking about ray quantities is:
initial × (2^((initialDistance-splitDistance)/bounceEstimate)-1)
Describe alternatives you've considered
None.
Describe any compatibility requirements
None.
Additional context
https://www.britannica.com/science/sound-physics/Circular-and-spherical-waves
https://noisetools.net/barriercalculator
Dependent upon #99
The text was updated successfully, but these errors were encountered: