OpenAL
维基百科,自由的百科全书
OpenAL | |
Image:OpenAL logo.png | |
作者 | Loki Software |
---|---|
开发者 | 創新科技 |
最新穩定版 | 1.1 / 2005年6月1日 |
操作系统 | 跨平台 |
类型 | API |
许可协议 | LGPL |
openal.org |
OpenAL(Open Audio Library)是自由軟體界的跨平台音效API。它設計給多通道三維位置音效的特效表現。其 API 風格模仿自 OpenGL。
目录 |
[编辑] 歷史
OpenAL 最初是由 Loki Software 所開發。是為了將 Windows 商業遊戲移植到 Linux 上。Loki 倒閉以後,這個專案由自由軟體/開放源始碼社群繼續維護。不過現在最大的主導者(並大量發展)是創新科技,並得到來自 Apple 和自由軟體/開放原始碼愛好者的持續支援。
Whilst the OpenAL charter says that there will be an "Architecture Review Board" (ARB) modeled on the OpenGL ARB, no such organization has ever been formed and the OpenAL specification is generally handled and discussed via e-mail on its public mailing list.
[编辑] API 結構和功能
OpenAL 主要的功能是在來源物體、音效緩衝和收聽者中編碼。來源物體包含一個指向緩衝區的指標、聲音的速度、位置和方向,以及聲音強度。收聽者物體包含收聽者的速度、位置和方向,以及全部聲音的整體增益。緩衝裡包含 8 或 16 位元、單聲道或立體聲 PCM 格式的音效資料,表現引擎進行所有必要的計算,如距離衰減、都普勒效應等。
The net result of all of this for the end user is that in a properly written OpenAL application, sounds behave quite naturally as the user moves through the three-dimensional space of the virtual world. From a programmers perspective, very little additional work is required to make this happen in an existing OpenGL-based 3D graphical application.
不同於 OpenGL 規格,OpenAL 規格包含兩個API分支;以實際 OpenAL 函式組成的核心,和 ALC API,ALC 用於管理表現內容、資源使用情況,並將跨平台風格封在其中。還有「ALUT」程式庫,提供高階「易用」的函式,其定位相當於 OpenGL 的 GLUT。
In order to provide additional functionality in the future, OpenAL utilizes an extension mechanism. Individual vendors are thereby able to include their own extensions into distributions of OpenAL, commonly for the purpose of exposing additional functionality on their proprietary hardware. Extensions can be promoted to ARB (Architecture Review Board) status, indicating a standard extension which will be maintained for backwards compatibility. ARB extensions have the prospect of being added to the core API after a period of time.
[编辑] 可攜性
這個 API 可用於以下平台︰
- Mac OS X
- GNU/Linux(OSS 和 ALSA 的後端)
- BSD
- Solaris
- IRIX
- Windows PC
- PlayStation 2
- PlayStation 3
- Xbox
- Xbox 360
- Nintendo GameCube
- Wii
- MorphOS
[编辑] 應用程式
遊戲︰
- id Software engine-based games such as Doom 3, Jedi Knight 2, Jedi Knight: Jedi Academy, Quake 4 and Prey.
- Unreal Technology based games such as Unreal 2, Unreal Tournament 2003, Unreal Tournament 2004, Postal², and America's Army.
- Battlefield 2, Freedom Fighters, Hitman and Psychonauts.
- Numerous free software/open-source games also use OpenAL. Several examples include Warsow and Warzone 2100.
其它應用程式︰
- Blender - 3D 建模和渲染工具。
- Unity - 3D 遊戲引擎和 IDE。
- ..Basic4gl - 編譯器和編程軟體。
更詳盡的列表可在 OpenAL 網站查尋。
[编辑] 參閱
- EAX,環繞音效延伸
- OpenGL
- GLUT,OpenGL 工具組
- OpenSL ES