Renderizando em estéreo e notificando sobre status estéreo
Os aplicativos não podem ser renderizados em estéreo, a menos que o sistema operacional indique que ele habilita o comportamento de exibição 3D estereoscópico. Os aplicativos determinam se devem ser renderizados em 3D estereoscópico de forma diferente, dependendo se estão em janela ou em tela inteira.
Um aplicativo em janelas chama o método IDXGIFactory2::IsWindowedStereoEnabled para determinar se deseja renderizar em estéreo. Um aplicativo de tela inteira chama o método IDXGIOutput1::GetDisplayModeList1 e determina se algum dos modos de exibição retornados dá suporte à renderização em estéreo. O método GetDisplayModeList1 não enumera modos estéreo, a menos que você especifique o sinalizador DXGI_ENUM_MODES_STEREO no parâmetro Flags . Um aplicativo em janelas ou de tela inteira que dá suporte a estéreo primeiro faz a determinação de renderizar em estéreo com base em uma chamada para o método IDXGIFactory2::IsWindowedStereoEnabled ou IDXGIOutput1::GetDisplayModeList1 respectivamente e, em seguida, registra-se para notificação de alterações de status estéreo. Como o aplicativo não pode contar com a notificação para indicar o status atual do comportamento de exibição 3D estereoscópico, quando recebe um evento de notificação ou uma mensagem de janela, ele deve chamar IDXGIFactory2::IsWindowedStereoEnabled ou IDXGIOutput1::GetDisplayModeList1 novamente para determinar o status atual do comportamento de exibição 3D estereoscópico do sistema operacional.
Se você quiser renderizar em estéreo, registre-se para notificações estéreo para saber quando o usuário desativa ou ativa o comportamento estéreo. Um aplicativo pode se registrar para ser notificado sobre alterações de status 3D estereoscópicas por meio de uma mensagem para uma janela ou por meio de sinalização de evento. Para se registrar para receber mensagens de notificação em uma janela sobre alterações de status estéreo, um aplicativo chama o método IDXGIFactory2::RegisterStereoStatusWindow. Para se registrar para receber notificação de alterações de status estéreo por meio da sinalização de evento, um aplicativo chama o método IDXGIFactory2::RegisterStereoStatusEvent. Ambos os métodos retornam um ponteiro para um valor de chave que o aplicativo pode usar para cancelar o registro da notificação. Para cancelar o registro da notificação, o aplicativo passa esse valor de chave para o método IDXGIFactory2::UnregisterStereoStatus .
O status estéreo pode conter os seguintes elementos:
A configuração do usuário.
Os usuários do Windows podem habilitar ou desabilitar a exibição estéreo com a opção habilitar 3D estereoscópico nas Configurações de Exibição de Alteração do Painel de Controle.
A funcionalidade e a configuração do computador, que inclui o adaptador gráfico, o driver gráfico e a instalação do monitor.
O Direct3D 11.1 Simple Stereo 3D Sample mostra como adicionar um efeito 3D estereoscópico e como responder às alterações estéreo do sistema.
Tópicos relacionados