2011-04-25 69 views
7

我想控制聲源音量按距離消失的方式,我怎麼做到這一點?我還想知道如何縮放聲音座標系:我不想聽到一些聲音很遠離源:現在我將不得不改變我的渲染代碼來縮放座標到讓它按照我的想法工作。OpenAL:如何使用線性衰減?

編輯2:雖然,一種解決方案可能是在發送它們之前將我的座標乘以......但有沒有更優雅的方法?

回答

4

這將是alDistanceModel(AL_LINEAR_DISTANCE)或更好alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED),這將完全關閉遙遠的來源。

閱讀第3.4.3和3.4.4章節here。您還必須爲每個來源(alSourcef)設置在那裏列出的公式中的參數(AL_MAX_DISTANCEAL_REFERENCE_DISTANCE)。

如果參數沒有意義,則關閉衰減。如果聲音是立體聲,同樣(立體聲就是......立體聲 - 只有單聲道聲音是3D)。