Почти уверен, что чел, делающий GSound, понятия не имел обо всём этом что в книге.
Можно использовать как справочник.
К тому же сначала нужно попробовать очевидные методы.
Например как можно посчитать реверберацию:
* кидаем лучи от источника звука, к каждому центру триса геометрии;
* кидаем лучи от слушателя к каждому центру триса геометрии;
* если лучи проходят и если оба луча не обратны нормали триса значит отражённый звук прошел;
* чтобы посчитать его громкость нужно взять коэффициент отражения и умножить на площадь триса и на косинусы углов лучей к нормали;
* чтобы посчитать задержку нужно сложить длины двух лучей;
В целом такой алгоритм вроде должен работать, при условии что размеры трисов несколько меньше чем длины лучей и размеров препятствий;
В случае больших трисов будут проблемы:
* например препятствие загораживает только центр триса, однако он сам такой большой что звук должен проходить - тут нужно кидать дополнительные лучи (рэндомно или по краям триса);
* если слушатель и источник находятся рядом друг к другу и близко к очень большому трису, например длинной стене, понятно что отражаться будет только от той части триса которая рядом, а не от всего триса;
Так что в таких случаях придется искать другие алгоритмы или тесселировать геометрию.
ЗЫЖ готовлю демку, пока в ней ничего нового по части звука нет - будет проверяться просто работоспособность моего игрового движка и интеграции звука в него (с игровым куда больше проблем чем со звуковым

).