🔊 **VOLUME WARNING** (Listen with headphones) It's been about seven months since I began the development of AudioTracer, a 2D room acoustics simulator built with C++ and the raylib library, and I’m excited to share my progress. The project began as an opportunity to learn and—out of curiosity—explore the capabilities of the “ray-tracing algorithm”. For those unfamiliar, the ray-tracing algorithm is an algorithm simulates light propagation in a physical environment by *tracing rays* of light from a source as it bounces around hits a camera lens. Ray-tracing is well-known for its photorealistic results and has advanced in both quality and efficiency, especially as the “path-tracing algorithm” was introduced around the 1980’s. I wanted to step into this area of Computer Graphics and see how I could expand upon it, so I thought “instead of tracing light, I’ll trace sound!” As sound and light can generally be represented by waves that bounce around into our heads, redesigning the algorithm to accommodate sound wasn’t too difficult. As it is, the software is able to load and visualize 2D scenes including a listener (the green circle), from where the user will hear noises, sound sources (the yellow circle) from where sound sources originate, and walls (white lines), off which the sounds will bounce. This scene below features a floor plan created with my LineDrawer program and contains 2 sound sources, one within the “building” and one following the user (in green). The source in the building plays a bottle-breaking noise, and the user plays a snapping noise. The visualizer also features rendering metrics, as well as a histogram running along a radian axis, representing the volume of noises being rendered along different angles. For example, the middle of the histogram (~3.14 radians) represents sounds on the left side of your ear. Development proceeds as I continue to explore optimizations for the ray-tracing algorithm. I hope to add more sampling configurations, and optimize the algorithm, perhaps using BVH or CUDA parallelization. Keep up with development on AudioTracer’s GitHub repository: https://lnkd.in/g7WsehxK #raytracing #computergraphics #computerscience #projects #raylib #rendering #simulation
This is so amazing
So dope 🔥 the future of audio in video games is here
Your acoustic simulator looks really cool. This puts ray tracing into good use.
This is really dope! Great job man, I've been using ray tracing for rendering but audio is a cool application.
Innovative personal project Noah. Keep on exploring and pushing the boundaries 👍
This is actually really cool.
this is so sick Noah 😌 using ray-tracing to detect sound is a really creative application
this is awesome!
This is awesome Noah 👏🏻
This is a project of the highest calibre you should be very proud of it.