次の方法で共有


ステレオでのレンダリングとステレオの状態に関する通知

オペレーティング システムが立体 3D 表示動作を有効にすることが示されていない限り、アプリはステレオでレンダリングできません。 アプリは、立体 3D でレンダリングするかどうかは、ウィンドウ表示か全画面表示かに応じて異なります。

ウィンドウ化されたアプリは、IDXGIFactory2::IsWindowedStereoEnabled メソッドを呼び出して、ステレオでレンダリングするかどうかを決定します。 全画面表示アプリは、IDXGIOutput1::GetDisplayModeList1 メソッドを呼び出し、返された表示モードのいずれかがステレオでのレンダリングをサポートしているかどうかを判断します。 GetDisplayModeList1 メソッドは、Flags パラメーターで DXGI_ENUM_MODES_STEREO フラグを指定しない限り、ステレオ モードを列挙しません。 ステレオをサポートするウィンドウまたは全画面表示のアプリは、まず、IDXGIFactory2::IsWindowedStereoEnabled または IDXGIOutput1::GetDisplayModeList1 メソッドの呼び出しに基づいてステレオでレンダリングすることを決定し、ステレオ状態の変更の通知を登録します。 アプリは、立体 3D 表示動作の現在の状態を示すために通知に依存できないため、通知イベントまたはウィンドウ メッセージを受信したときに、IDXGIFactory2::IsWindowedStereoEnabled または IDXGIOutput1::GetDisplayModeList1 をもう一度呼び出して、オペレーティング システムの 3D 画面表示動作の現在の状態を判断する必要があります。

ステレオでレンダリングする場合は、ステレオ通知に登録して、ユーザーがステレオの動作をオフにするかオンにするかを知る必要があります。 アプリは、ウィンドウへのメッセージ送信またはイベントシグナルを通じて、立体視3Dの状態変化に関する通知を受け取るように登録できます。 ステレオ状態の変更に関する通知メッセージをウィンドウに受信するように登録するために、アプリは IDXGIFactory2::RegisterStereoStatusWindow メソッドを呼び出します。 イベント 通知を使用してステレオ 状態の変更の通知を受信するように登録するには、アプリが IDXGIFactory2::RegisterStereoStatusEvent メソッドを呼び出します。 どちらのメソッドも、通知の登録解除にアプリが使用できるキー値へのポインターを返します。 通知を登録解除するために、アプリはこのキー値を IDXGIFactory2::UnregisterStereoStatus メソッドに渡します。

ステレオの状態には、次の要素を含めることができます。

  • ユーザー構成。

    Windows ユーザーは、コントロール パネルの [表示設定の変更] の [立体視 3D を有効にする] オプションを使用して、ステレオ表示を有効または無効にすることができます。

  • グラフィックス アダプター、グラフィックス ドライバー、およびモニターのセットアップを含むコンピューターの機能と構成。

Direct3D 11.1 Simple Stereo 3D サンプル では、立体視 3D 効果を追加する方法と、システム ステレオの変更に対応する方法を示します。

DXGI 1.2 の機能強化