ステレオでのレンダリングとステレオの状態に関する通知
オペレーティング システムが立体 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 効果を追加する方法と、システム ステレオの変更に対応する方法を示しています。
関連トピック