The Game has to feed the sound engine the parameters for obstruction and occlusion.
Systematic ray-tracing for every sound at every frame can (will) be very CPU expensive for games, and that is why most games create their own simplified system to feed information about occlusion and obstruction.
Good things to remember:
- Obstructions/occlusion parameters do not necessarily have to be updated 60 times per second, you can probably go down to 2-3 times per second without the gamer noticing it (especially when listener and emitter are walking).
- Smooth transitions are made when occlusion/obstruction parameters change drastically.
- Instead of using ray-tracing, try defining volumetric zones approximations. (create zones for door openings too). You can manage to have table from zone A to B, and etc… to what should be the occlusion from one zone to another, and then perform interpolation between the zones.