Condividi tramite


Rendering in stereo e notifica dello stato stereo

Le app non possono eseguire il rendering in stereo a meno che il sistema operativo non indichi che abilita il comportamento di visualizzazione 3D stereoscopico. Le app determinano se eseguire il rendering in 3D stereoscopico in modo diverso a seconda che siano finestrate o a schermo intero.

Un'app con finestra chiama il metodo IDXGIFactory2::IsWindowedStereoEnabled per determinare se eseguire il rendering in stereo. Un'app a schermo intero chiama il metodo IDXGIOutput1::GetDisplayModeList1 e quindi determina se una delle modalità di visualizzazione restituite supporta il rendering in stereo. Il metodo GetDisplayModeList1 non enumera le modalità stereo a meno che non si specifichi il flag DXGI_ENUM_MODES_STEREO nel parametro Flags . Un'app con finestra o a schermo intero che supporta stereo determina innanzitutto il rendering in stereo in base a una chiamata al metodo IDXGIFactory2::IsWindowedStereoEnabled o IDXGIOutput1::GetDisplayModeList1 rispettivamente e quindi esegue la registrazione per la notifica delle modifiche dello stato stereo. Poiché l'app non può basarsi sulla notifica per indicare lo stato corrente del comportamento di visualizzazione stereoscopico 3D, quando riceve un messaggio di notifica o finestra, deve chiamare IDXGIFactory2::IsWindowedStereoEnabled o IDXGIOutput1::GetDisplayModeList1 per determinare nuovamente lo stato corrente del comportamento di visualizzazione stereoscopico del sistema operativo 3D.

Se si vuole eseguire il rendering in stereo, è necessario registrarsi per le notifiche stereo per sapere quando l'utente disattiva o attiva il comportamento stereo. Un'app può registrarsi per ricevere una notifica sulle modifiche dello stato 3D stereoscopico tramite un messaggio a una finestra o tramite segnalazione di eventi. Per registrarsi per ricevere messaggi di notifica a una finestra sulle modifiche dello stato stereo, un'app chiama il metodo IDXGIFactory2::RegisterStereoStatusWindow . Per registrarsi per ricevere la notifica delle modifiche dello stato stereo tramite segnalazione degli eventi, un'app chiama il metodo IDXGIFactory2::RegisterStereoStatusEvent . Entrambi i metodi restituiscono un puntatore a un valore di chiave che l'app può usare per annullare la registrazione della notifica. Per annullare la registrazione della notifica, l'app passa questo valore di chiave al metodo IDXGIFactory2::UnregisterStereoStatus .

Lo stato stereo può contenere gli elementi seguenti:

  • Configurazione utente.

    Gli utenti di Windows possono abilitare o disabilitare lo schermo stereo con l'opzione abilita stereoscopica 3D nelle impostazioni di modifica dello schermo di Pannello di controllo.

  • Funzionalità e configurazione del computer, che include la scheda grafica, il driver grafico e la configurazione del monitoraggio.

L'esempio Simple Stereo 3D 3D direct3D 11.1 mostra come aggiungere un effetto 3D stereoscopico e come rispondere alle modifiche stereo del sistema.

Miglioramenti di DXGI 1.2