Share via


Rendern in Stereo und Benachrichtigungen über Stereo-status

Apps können nicht in Stereo gerendert werden, es sei denn, das Betriebssystem gibt an, dass es stereoskopisches 3D-Anzeigeverhalten ermöglicht. Apps bestimmen, ob in stereoskopischem 3D unterschiedlich gerendert werden soll, je nachdem, ob es sich um Fenster oder Vollbild handelt.

Eine App mit Fenstern ruft die IDXGIFactory2::IsWindowedStereoEnabled-Methode auf, um zu bestimmen, ob in Stereo gerendert werden soll. Eine Vollbild-App ruft die IDXGIOutput1::GetDisplayModeList1-Methode auf und bestimmt dann, ob einer der zurückgegebenen Anzeigemodi das Rendering in Stereo unterstützt. Die GetDisplayModeList1-Methode listet Stereomodi nur auf, wenn Sie das flag DXGI_ENUM_MODES_STEREO im Flags-Parameter angeben. Eine Fenster- oder Vollbild-App, die Stereo unterstützt, bestimmt zunächst das Rendern in Stereo basierend auf einem Aufruf der IDXGIFactory2::IsWindowedStereoEnabled- oder IDXGIOutput1::GetDisplayModeList1-Methode und registriert sich dann für die Benachrichtigung von Stereo-status-Änderungen. Da sich die App nicht darauf verlassen kann, dass die Benachrichtigung den aktuellen status des stereoskopischen 3D-Anzeigeverhaltens anzeigt, muss sie beim Empfang eines Benachrichtigungsereignisses oder einer Fenstermeldung entweder IDXGIFactory2::IsWindowedStereoEnabled oder IDXGIOutput1::GetDisplayModeList1 erneut aufrufen, um die aktuelle status des stereoskopischen 3D-Anzeigeverhaltens des Betriebssystems zu bestimmen.

Wenn Sie in Stereo rendern möchten, müssen Sie sich für Stereobenachrichtigungen registrieren, um zu erfahren, wann der Benutzer das Stereoverhalten aus- oder einschaltet. Eine App kann sich registrieren, um über stereoskopische 3D-status Änderungen durch eine Nachricht an ein Fenster oder durch Ereignissignalisierung benachrichtigt zu werden. Um sich zu registrieren, um Benachrichtigungsmeldungen für ein Fenster über Stereo-status Änderungen zu erhalten, ruft eine App die IDXGIFactory2::RegisterStereoStatusWindow-Methode auf. Um sich zu registrieren, um Benachrichtigungen über Stereo-status Änderungen per Ereignissignalisierung zu erhalten, ruft eine App die IDXGIFactory2::RegisterStereoStatusEvent-Methode auf. Beide Methoden geben einen Zeiger auf einen Schlüsselwert zurück, den die App zum Aufheben der Registrierung der Benachrichtigung verwenden kann. Um die Registrierung der Benachrichtigung aufzuheben, übergibt die App diesen Schlüsselwert an die IDXGIFactory2::UnregisterStereoStatus-Methode .

Stereo-status können die folgenden Elemente enthalten:

  • Die Benutzerkonfiguration.

    Windows-Benutzer können die Stereoanzeige mit der Option stereoskopisches 3D aktivieren in Systemsteuerung Anzeigeeinstellungen ändern aktivieren oder deaktivieren.

  • Die Computerfunktion und -konfiguration, einschließlich Grafikkarte, Grafiktreiber und Monitoreinrichtung.

Das Direct3D 11.1 Simple Stereo 3D-Beispiel zeigt, wie sie einen stereoskopischen 3D-Effekt hinzufügen und auf System-Stereoänderungen reagieren.

DXGI 1.2 Verbesserungen