edit: the striked through text is an article for underwater wave reflections, thus, the image is not accurate. I attempted to either locate a usable equation, or mash it up according to the second link, but I don't have the time to go over the entire lecture notes and do the necessary math. Sorry.
It is the patent for raycasting for real time audio. However, one thing that my very brief look-over failed to noticed, was if it accounted for PBR materials. What an audio engine needs to do:
- Separate the audio into mono sounds, each being "received" by the appropriate audio channels (left and right) - The audio emitter needs to be setup almost like a light, either omni or directional - From that source, cast sound-waves (or "rays") in a 360 degree manner, with the strength of the waves being directly taken from the emitter type - The sound-wave should echo off of surfaces depending on what material the surface is and how powerful the sound is that is being emitted. Metal will reflect more intensely than wood, for example. To achieve this, we may need to add two more parameters to our materials.. sound reflection coefficient and sound absorption amount. - Each time a wave "bounces" off a surface, it performs the above calculation until the wave reaches the audio receiver(s). - The higher quality of sound, the more "waves" it will cast, resulting in a higher quality sound (at a cost of increased cpu/gpu processing)
edit: this could all be hog-wash, as I am by no means an audio engineer.. I just know a tidbit from when I designed a competition-level car stereo system.. 8 years ago.
Current WIPs using Unreal Engine 4:Agrona - Tales of an Era: Medieval Fantasy MORPG