OpenAL

出典: フリー百科事典『ウィキペディア(Wikipedia)』

OpenAL
開発元 クリエイティブテクノロジー
最新版 1.1 / 2005年6月1日
対応OS クロスプラットフォーム
プラットフォーム API
種別 サウンドライブラリ
ライセンス LGPL
公式サイト openal.org
  

OpenAL (Open Audio Library)はクロスプラットフォームのオーディオAPIであるフリーソフトマルチチャンネル3次元定位オーディオを効率よく表現するように設計された。APIのスタイルと習慣は意図的にOpenGLと似せてある。

目次

[編集] 歴史

ロキソフトウェア(Loki Software)が商用のWindows用ゲームをLinuxに移植しやすくするためにOpenALを開発したのがオリジナルである。ロキの消滅後、このプロジェクトはしばらくの間フリーソフトウェア/オープンソースのコミュニティで扱われた—しかし現在では、アップルやフリーソフトウェア/オープンソースの熱狂的支持者からサポートされる形でクリエイティブテクノロジーが主催者となっている(そして多くの部分を開発している)。

OpenGLの「アーキテクチャレビュー委員会(ARB)」を手本に、OpenALでもARBの存在が宣言されているが、そのような組織がこれまでに設立されたことはなく、OpenALの仕様は主にメーリングリストで取り扱われ議論されている。

[編集] APIの構成と機能

OpenALの主要機能はソースオブジェクト、オーディオバッファ、単一のリスナーでエンコードされる。ソースオブジェクトとは、バッファ、ベロシティ、ポジション、サウンドの方向、サウンドの強度などへのポインタである。リスナーオブジェクトとはベロシティ、リスナーの位置と方向、全てのサウンドに対する全体の利得である。バッファは8または16ビットのモノラルまたはステレオPCM形式のオーディオデータである。レンダリングエンジンは距離による衰弱やドップラー効果などの全ての必要な計算を実行する。

エンドユーザーに対するこれら全ての最終結果は、適切に記述されたOpenALアプリケーションであれば、仮想世界の三次元空間をユーザーが移動したものとしてとても自然に聞こえる。プログラマーの視点で見れば、OpenGLベースの既存の3D映像アプリケーションにちょっとした追加をするだけでこれを実現できる。

OpenGLの仕様と異なり、OpenALの仕様はAPIに2つのサブセクションを含む。実際のOpenAL関数コールで構成されるコア部分と、クロスプラットフォームを実現する方法でコンテキストのレンダリングやリソースの使用状況やそのロックを管理するALC APIである。また上位レベルの'便利な'機能を提供する'ALUT'ライブラリ—ちょうどOpenGLのGLUTに似ている—がある

将来的な機能拡張のため、OpenALはエクステンションのメカニズムを有する。これにより各ベンダーは彼らのエクステンションを、主に彼らのプロプライエタリなハードウェアの追加機能を実装する目的で、OpenALのディストリビューションに含めることができる。エクステンションはARB(アーキテクチャレビュー委員会)に提出して、互換性が維持されるようにエクステンションが標準であることを示せる。ARBエクステンションは一定期間経過後にコアAPIに追加されることが望まれる。

[編集] 移植性

このAPIは下記のプラットフォームで利用可能である。

[編集] アプリケーション

ゲーム:

その他のアプリケーション:

  • Blender - 3Dモデリング・レンダリングツール。
  • Unity - 3Dゲームエンジン及びゲーム開発統合環境。
  • ..Basic4gl - コンパイラとプログラミングソフトウェア。

OpenALのウェブサイトにてより完璧なリストを確認できる。

[編集] 関連項目

[編集] 外部リンク