Também pensei sobre isso. Senti que a principal preocupação (em termos de troca de realismo / desempenho) era que espacialmente seus ouvidos eram inferiores aos seus olhos - e aceitava facilmente algo que talvez não fosse tão realista quanto seus olhos precisariam. Há uma chance muito boa de que tentar modelar perfeitamente o som no ambiente local seja um exagero - o EAX provavelmente é "bom o suficiente".
Em um ambiente fechado (por exemplo, Quake), primeiramente eu calcularia duas propriedades sobre cada quarto: 'transferrance' e imersão:
A transferência indicaria como o som seria afetado pela viagem por esta sala e provavelmente contaria para um EQ paramétrico (idealmente, você adicionaria eco / reverb de cada sala, mas seu chip EAX pode não ter tanta largura de banda). O EQ paramétrico também simularia a atenuação do som.
A imersão seria calculada dividindo a sala em nove cubos (possivelmente apenas um poderia ser bom o suficiente) e calculando as propriedades do som local a partir dessa perspectiva. Esses parâmetros seriam usados no ambiente EAX.
Finalmente, cada uma das suas salas seria conectada por um gráfico, onde cada ponto no gráfico são os portais que conectam cada sala.
Quando o som é acionado, você faz um preenchimento de inundação (sem uma pesquisa A *) e acompanha a transferência e a distância percorrida. Quando o som chega ao player, você o colocaria na fila para tocar em algum momento no futuro; com base na distância percorrida. Você pode acompanhar o número de pontos do gráfico passados e, eventualmente, 'selecionar' o som (em outras palavras, um preenchimento contínuo). Pode ser necessário usar o CUDA para fazer isso, pois isso pode vincular a CPU.
Quando um som é emitido, você usa uma API de som 3D (OpenAL) para colocá-lo no portal em que entrou, em seguida, você descobre em qual dos nove cubos o player está atualmente e aplica esse ambiente EAX.
O interessante aqui é que, se seu ambiente for suficientemente complexo, você obterá ecos 'globais' gratuitos e os jogadores perceberão o som vindo da direção certa; e se você acertar o ambiente EAX, espero que o efeito seja suficientemente convincente para que o cérebro o aceite.