Технология ЕАX и ее модель реверберации будет рассмотрена чуть ниже более подробно. А сейчас хотелось бы остановиться на эффектах окклюзии (occlusion преграждение), возникающих при прохождении звука через препятствие. В принципе, это можно реализовать с помощью банального уменьшения громкости звука, но более реалистично Оcclusion (да и другие эффекты) реализуется с помощью НЧ-фильтра (low pass, низкочастотного).
В большинстве случаев достаточно одного типа окклюзии звук находиться за «глухой» преградой. При этом, direct path составляющая звука будет заглушена и степень фильтрации определяется геометрическими параметрами (толщиной) и материалом, из которого сделана стенка. Так как прямого контакта источника и слушателя нет (они находятся в разных комнатах), то по этому же принципу заглушается эхо от источника.
Для достижения максимальной реалистичности разработчики звукового API из Creative вводят понятие Obstruction (помеха, препятствие). В прямом переводе с английского означает практически то же самое что и Оcclusions, но с такими дополнениями: direct path составляющая заглушается прямого контакта со слушателем нет, но так как звук и источник находятся в одной комнате, поздние отражения (Late Reflections) не заглушаются и попадают к слушателю в неизменном виде.
И еще один тип Exclusions (Исключение). Источник и слушатель находятся в разных комнатах, но между ними есть прямая видимость, и, как следствие, direct path полностью попадает к слушателю а вот отраженный звук пройдет через проем в стене не весь и исказится (опять-таки в зависимости от толщины, формы и свойств материала).
В любом случае, как бы вы не реализовывали эти эффекты (с помощью Aureal A3D, Creative Labs EAX или просто вручную на собственном звуковом движке) все равно придется трассировать геометрию (всю или только звуковую) на предмет установления прямой видимости с источником звука. А это достаточно сильный удар по производительности. Вот и получается, что почти всегда (если говорить о шутерах, 3D РПГ или любых других подобных играх, пытающихся внести максимальный реализм в звуке) надо строить упрощенную геометрию для звука. К счастью, такая геометрия строиться (почти всегда) для подсчета collision для игрока опять таки, чтобы не трассировать всю геометрию вокруг игрока в помещении. Поэтому, достаточно сделать эту же геометрию чуть более детально для звука. Конечно же, есть и другие способы, но оставим их на совести программистов игровых движков.