Platform SDK: DirectX |
IDirectSound3DBuffer と IDirectSound3DListener の各インターフェイスは、Direct3D® と組み合わせて動作するよう設計されている。Direct3D が仮想環境内のオブジェクトを配列する際に使う位置決め情報は、音源を配列する目的でも使える。Direct3D プログラマにとって既知の D3DVECTOR と D3DVALUE の各構造体は、IDirectSound3DBuffer と IDirectSound3DListeners の各インターフェイスでも使われる。また、Direct3D で使われている左手座標系と同じものが DirectSound でも採用されている。(座標系については、Direct3D の「3D 座標系」を参照すること。)
Direct3D のシステム コールバック メカニズムを使って、アプリケーションへの 3D サウンドの実装を簡素化できる。たとえば、アプリケーション定義関数 D3DRMFRAMEMOVECALLBACK を使って、アプリケーション内のフレームの動きを監視し、ある条件が成立したときだけサウンド環境を変更できる。
DirectSound3DBuffer と DirectSound3DListener の各クラスは、Direct3D® と組み合わせて動作するよう設計されている。Direct3D が仮想環境内のオブジェクトを配列する際に使う位置決め情報は、音源を配列する目的でも使える。Direct3D プログラマにとって既知の D3DVECTOR 型は、DirectSound3DBuffer と DirectSound3DListener の各クラスでも使われる。また、Direct3D で使われている左手座標系と同じものが DirectSound でも採用されている。(座標系については、Direct3D の「3D 座標系」を参照すること。)
通常、DirectSound では距離はメートル単位で測定される。アプリケーションが 3D グラフィックの測定単位としてメートル以外のものを使っている場合、距離係数を設定し、アプリケーションの使う距離単位が何メートルに相当するかを浮動小数点の値として表現する。たとえば、アプリケーションがフィート単位を使っている場合、DirectSound の距離係数として 0.3048 を指定するが、これは 1 フィートをメートル単位で表現したものである。