Поделиться через


Отрисовка в стерео и уведомление о состоянии стерео

Приложения не могут выполнять отрисовку в стерео, если операционная система не укажет, что она обеспечивает стереоскопическое трехмерное отображение. Приложения определяют, следует ли отрисовывать стереоскопические трехмерные изображения по-разному в зависимости от того, являются ли они оконными или полноэкранными.

Оконное приложение вызывает метод IDXGIFactory2::IsWindowedStereoEnabled , чтобы определить, следует ли выполнять отрисовку в стерео. Полноэкранное приложение вызывает метод IDXGIOutput1::GetDisplayModeList1 , а затем определяет, поддерживает ли какой-либо из возвращенных режимов отображения отрисовку в стерео. Метод GetDisplayModeList1 не перечисляет стереорежимы, если не указан флаг DXGI_ENUM_MODES_STEREO в параметре Flags . Оконное или полноэкранное приложение, поддерживающее стерео, сначала принимает решение о отрисовке в стерео на основе вызова метода IDXGIFactory2::IsWindowedStereoEnabled или IDXGIOutput1::GetDisplayModeList1 соответственно, а затем регистрируется для уведомления об изменении состояния стерео. Так как приложение не может полагаться на уведомление для указания текущего состояния стереоскопического трехмерного отображения, при получении события уведомления или сообщения окна оно должно снова вызвать IDXGIFactory2::IsWindowedStereoEnabled или IDXGIOutput1::GetDisplayModeList1 , чтобы определить текущее состояние стереоскопического трехмерного отображения операционной системы.

Если требуется отрисовка в стерео, необходимо зарегистрироваться для получения стерео-уведомлений, чтобы узнать, когда пользователь отключается или отключается стерео. Приложение может зарегистрироваться для получения уведомлений об изменении стереоскопического трехмерного состояния с помощью сообщения в окно или посредством передачи сигналов о событиях. Чтобы зарегистрироваться для получения уведомлений в окне об изменении состояния стерео, приложение вызывает метод IDXGIFactory2::RegisterStereoStatusWindow . Чтобы зарегистрироваться для получения уведомлений об изменениях стерео состояния с помощью сигнализации о событиях, приложение вызывает метод IDXGIFactory2::RegisterStereoStatusEvent . Оба метода возвращают указатель на значение ключа, которое приложение может использовать для отмены регистрации уведомления. Чтобы отменить регистрацию уведомления, приложение передает это значение ключа в метод IDXGIFactory2::UnregisterStereoStatus .

Состояние стерео может содержать следующие элементы:

  • Конфигурация пользователя.

    Пользователи Windows могут включать или отключать стерео-дисплей с помощью параметра включить стереоскопические трехмерные изображения в панель управления изменить параметры дисплея.

  • Возможности и конфигурация компьютера, включая графический адаптер, графический драйвер и настройку монитора.

В примере direct3D 11.1 Simple Stereo 3D показано, как добавить стереоскопический трехмерный эффект и как реагировать на системные изменения стерео.

Улучшения DXGI 1.2