作者bachelorwhc (單身老王)
看板C_Chat
標題Re: [問題] 現在遊戲的音效都用什麼去跑?D3D?OpenAL?
時間Mon Oct 24 23:42:29 2016
※ 引述《nagisaK (na)》之銘言:
: 音效處理都用什麼來跑呢
: Directsound 3D?
: OpenAL?
這個會 依遊戲引擎 平台 開發者 而有所不同
例如SDL這樣多媒體的Library
其實會在編譯階段 就決定要連結哪種可執行二進位數據來生產整套軟體
更簡單的例子 就像是SDL
如果要輸出在 Windows 上 就會用D3D
如果要輸出在 Linux 上 就會用OpenGL
為了跨平台 多半都要看 API有沒有支援 (你不會預期PS3使用Direct3D
你的做法 應該是去Wiki找知名的API、SDK、Middleware 例如FMOD
有哪些遊戲跟引擎在使用
在我看來FMOD其實比較像是整套的Solution 而且提供的工具、引擎整合都很完整
如果要抓特定遊戲 看他到底是使用哪些技術
就應該用逆向工程 把遊戲拆開
通常會有特定特徵的數據、結構 或函式連結可以看到的
直接看 使用的dll是哪些 也是一個辦法
(當然也有人會編譯在自己的dll或執行檔裡面 而不直接使用元dll
也有不那麼技術的方法 就是看staff有沒有特定廠商名單
(像大家常常會看到havok的商標 不過前提是公司要公開
但不見得每個遊戲都會需要特別的聲音特效
很多就直接用driver去幹了
那你就要對 alsa、directsound 之類的API有所了解
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.113.206
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1477323751.A.413.html
※ 編輯: bachelorwhc (220.141.113.206), 10/25/2016 00:04:56
推 nagisaK: 應該說我要問的是3D定位運算是交給CPU還是音效卡 10/25 00:40
抱歉 誤會了
音效卡還是有硬體加速的輔助功能
CPU還是可以做模擬
我接觸繪圖的部分 比較多 這部分就不太可能準確回答你
而你的問題 我覺得應該是CPU可能性較高(但你說的3D定位 具體意思我不太懂)
我建議你 可以閱讀OpenAL Soft的原始碼 進行了解
http://kcat.strangesoft.net/openal.html
※ 編輯: bachelorwhc (220.141.113.206), 10/25/2016 01:01:13
推 nagisaK: 因為Directsound3D硬體加速 Vista後就被砍了 10/25 01:14
→ nagisaK: 3D定位就是玩遊戲時可以聽音辨位的效果 10/25 01:14
是
如果是判定位置的話 這通常都是CPU或GPU去做
現在CPU有SSE 基本的向量、矩陣運算 都還算輕鬆
但你說的若是 如何加工做出3D音效(讓玩家聽音辨位)的效果
這要回答你 我就不是很有把握
如果你是要開發相關軟體的話 我會建議你 選擇泛用度高、簡單的工具
我幫你查 現在用FMOD的人 好像滿多的
※ 編輯: bachelorwhc (220.141.113.206), 10/25/2016 01:19:36