Впервые на русском: Документация Oculus для разработчиков. Руководство ПК SDK для разработчика. Дополнительная информация о подключении контроллеров Oculus Touch

Продолжаем публикацию эксклюзивной информации для разработчиков от Oculus. Новый раздел посвящён дополнительной информации о подключении контроллеров Oculus Touch.

  1. Документация Oculus для разработчиков:
    1. Введение в рекомендации
    2. Бинокулярное зрение, стереоскопическая визуализация и индикаторы глубины
    3. Поле зрения и масштаб
    4. Методы рендеринга
    5. Движение
    6. Отслеживание
    7. «Болезнь симуляции»
    8. Пользовательский интерфейс
    9. Пользовательский ввод и навигация
    10. Заключение
    11. Введение в SDK для ПК
    12. Руководство разработчика
    13. Руководство по началу работы с ПК SDK
    14. Руководство ПК SDK для разработчика. Интеграция LibOVR
    15. Инициализация и перечень сенсоров
    16. Рендеринг в Oculus Rift
    17. Расширенная настройка рендеринга
    18. Управление связью с виртуальной реальностью
    19. Система безопасности Oculus Guardian
    20. Аудио Oculus Rift
    21. Контроллеры Oculus Touch
    22. Дополнительная информация об Oculus Touch
    23. Примеры использования SDK и геймпада
    24. Оптимизация вашего приложения
    25. Подключение контроллеров Oculus Touch
    26. Асинхронный SpaceWarp
    27. Дополнительная информация о подключении контроллеров Oculus Touch
    28. Справочная информация
Статистика производительности SDK

Статистика производительности SDK предоставляет информацию о производительности приложений и компоновщиков в системе.

Статистика заполняется после каждого вызова ovr_SubmitFrame. Чтобы получить статистику производительности, используйте ovr_GetPerfStats ().

Чтобы сбросить статистику, используйте ovr_ResetPerfStats.

Примечание: Если инструмент производительности работает отдельно от вашего приложения, обязательно проверьте VisibleProcessId в том случае, если ваше приложение перестанет отвечать.

Следующая информация описывает статистику производительности:

  • OvrPerfStatsPerCompositorFrame: статистика кадров каждого компоновщика в последующих таблицах.
  • AnyFrameStatsDropped: если приложение вызывает ovr_SubmitFrame со скоростью менее 18 fps, то при вызове ovr_GetPerfStats ожидайте, что AnyFrameStatsDropped станет ovrTrue, а FrameStatsCount будет равен ovrMaxProvidedFrameStats.
  • AdaptiveGpuPerformanceScale: отфильтрованное по крайнему пределу значение, которое вы можете использовать для настройки качества графики приложения при проверке использования графического процессора. Значение рассчитывается как (desired_GPU_utilization / current_GPU_utilization). Когда это значение равно 1.0, графический процессор выполняет правильный объем работы для приложения. Более низкие значения означают, что приложение должно сократить использование графического процессора. Примечание: Если приложение напрямую управляет разрешением целевого рендеринга с использованием этого значения, обязательно убедитесь, что извлекается квадратный корень этого значения прежде, чем оно масштабируется. Изменение целевого разрешения рендеринга – это лишь одна из многих вещей, которые ваше приложение может увеличить или уменьшить для использования графического процессора. Поскольку AdaptiveGpuPerformanceScale фильтруется по крайним пределам и не изменяется быстро (то есть, он сообщает значения, не равные 1.0, раз в пару секунд), ваше приложение может внести необходимые корректировки и продолжить проверку значения для того, чтобы убедиться, что оно выполнено.
  • AswIsAvailable: возвращает истинное значение, если асинхронный SpaceWarp доступен для этой системы на основе настроек графического процессора пользователя, операционной системы и отладки.

Следующая информация приводит статистические данные, характерные для производительности вашего приложения:

  • AppFrameIndex: индекс, который увеличивается с каждым вызовом ovr_SubmitFrame.
  • AppDroppedFrameCount: увеличивается каждый раз, когда приложение не может отправить новый набор слоёв с использованием ovr_SubmitFrame() перед выполнением компоновщиком каждойV-Sync (вертикальной синхронизации).
  • AppMotionToPhotonLatency : задержка с момента, когда последняя спрогнозированная информация отслеживания была запрошена приложением с использованием ovr_GetTrackingState(), когда средняя линия сканирования целевого кадра подсвечивается на дисплее шлема виртуальной реальности. Это та же информация, которую предоставляет Latency Timing HUD.
  • AppQueueAheadTime: для того, чтобы улучшить параллелизм процессора и графического процессора и увеличить время, необходимое графическому процессору для обработки кадра, SDK автоматически применяет очередь до 1 кадра. Это значение отображает количество времени ожидания перед очередью (в миллисекундах). Дополнительные сведения об адаптивной очереди вперед см. в разделе «Адаптационная очередь наперёд».
  • AppCpuElapsedTime: разница во времени, с которой приложение продолжало выполнять работу центрального процессора после того, как ovr_SubmitFrame() вернул последующий вызов ovr_SubmitFrame(). Он покажет «N/A» в том случае, если тестер задержки не работает должным образом (например, дисплей шлема виртуальной реальности в спящем режиме из-за длительного бездействия). Это включает в себя дополнительные расходы IPC для компоновщика после вызова ovr_SubmitFrame() клиентским приложением.
  • AppGpuElapsedTime: общее время графического процессора, потраченное на рендеринг клиентского приложения. Оно включает в себя работу, выполняемую приложением после возврата из ovr_SubmitFrame(), используя зеркальную текстуру, если это возможно. Оно также может содержать «пузыри» командного буфера графического процессора, если поток центральный процессор приложения не выводит данные на графический процессор достаточно быстро для того, чтобы его поддерживать. Аналогично, если приложение принуждает графический редактор к полному использованию, работа над следующим кадром (N + 1) может быть вытеснена обработкой компоновщика в текущем кадре (N). Из-за того, как работает запрос синхронизации графического процессора для приложения, это может привести к искусственно раздутым показателям времени использования приложений, поскольку они начнут включать время использования графического процессора компоновщика.

Компоновщик работает асинхронно, и его показатели будут увеличиваться для каждой вертикальной синхронизации независимо от того, вызывает ли приложение ovr_SubmitFrame.

Следующая информация описывает статистику компоновщика:

  • CompositorFrameIndex: индекс, который увеличивается каждый раз, когда компоновщик SDK завершает прохождение искажения/ imeWarp.
  • CompositorDroppedFrameCount: увеличивается каждый раз, когда компоновщик не может представить новый визуализированный кадр в V-Sync (вертикальной синхронизации).
  • CompositorLatency: задает тайм-аут для TimeWarp, который исправляет задержки приложений и выбрасываемые кадры.
  • CompositorCpuElapsedTime: время в секундах, потраченное на работу графического процессора с помощью компоновщика SDK. Любое время, потраченное на компоновщик, позволяет использовать время графического процессора вне приложения.
  • CompositorGpuElapsedTime: время, затрачиваемое графическим процессором на выполнение рендеринга компоновщика. Это включает TimeWarp и искажение всех слоев, представленных приложением. Количество активных слоев, их разрешение и требуемое качество выборки могут влиять на время графического процессора.
  • CompositorCpuStartToGpuEndElapsedTime: показатель времени, когда центральный процессор запускает компоновщик, когда компоновщик завершает искажения и TimeWarp на графическом процессоре. Если время недоступно, оно возвращает показатель -1.0f.
  • CompositorGpuEndToVsyncElapsedTime: количество времени между тем, когда графический процессор завершает рендеринг компоновщика до момента, когда удаляется V-Sync, и этот буфер начинает сканирование шлема виртуальной реальности.

Асинхронный SpaceWarp HUD отображает статистику активности и отслеживания для асинхронного SpaceWarp, который выполняется как часть рантайма компоновщика Oculus. Асинхронный SpaceWarp автоматически активируется, когда приложение не отвечает требуемой частоте кадров для подключенного шлема виртуальной реальности. Когда он активен, асинхронный SpaceWarp заставляет приложение запускаться с половиной нормальной частоты кадров при экстраполяции каждого второго кадра. Это дает приложению больше времени для завершения своей работы.

Следующая информация описывает статистику асинхронного SpaceWarp:

  • AswIsActive: показывает доступность и текущий статус асинхронного SpaceWarp. «Not Available» может быть связано с операционной системой и/или графическим типом, используемым на компьютере. «Available – Not Active» означает, что приложение успешно поддерживает требуемую частоту обновления, поэтому асинхронный SpaceWarp не активируется.
  • AswActivatedToggleCount: отслеживает количество срабатываний асинхронного SpaceWarp на время работы шлема виртуальной реальности.
  • AswPresentedFrameCount: отслеживает количество кадров, экстраполированных асинхронным SpaceWarp, которые были отображены. Когда асинхронный SpaceWarp активег, поскольку приложение вынуждено работать с половинной скоростью, вам следует ожидать увеличения этого значения на 45 fps при частоте шлема виртуальной реальности в 90 Гц.
  • AswFailedFrameCount: отслеживает количество экстраполированных кадров асинхронного SpaceWarp, необходимых для отображения, но которые не удалось подготовить вовремя. Это может происходить по разным причинам, но может быть вызвано конфликтом ресурсов операционной системы или превышением возможностей системы.
Инструмент отладки Oculus

Инструмент отладки Oculus Debug Tool позволяет просматривать информацию о производительности или отладке вашего приложения или игры.

Для того, чтобы использовать этот инструмент:

  1. Перейдите в Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool.exe.
  2. Дважды кликните на значок OculusDebugTool.exe. Откроется инструмент Oculus Debug.
  3. Выберите Visible HUD для просмотра. Включены следующие опции: None (HUD не отображается), Performance HUD, Stereo Debug HUD или Layer HUD.
  4. Если вы выбрали Performance HUD, выберите, какой Performance HUD вы хотите просмотреть. Параметры включают в себя: тайм-аут задержки, время показа рендеринга, рейтинг производительности и информацию о версии. Для получения дополнительной информации см. «Производительность шлема виртуальной реальности».

Ниже приведён пример отображения производительности HUD:

  1. Если вы выбрали Stereo Debug HUD, настройте режим, размер, положение и цвет из параметров Stereo Debug HUD.

Ниже приведён пример отображения Stereo Debug HUD:

  1. Если вы выбрали Layer HUD, выберите слой для отображения информации или установите флажок «Показать все».

Ниже приведён пример отображения Layer HUD:

  1. Выберите «Запустить приложение» (Select Launch App) в меню File и выберите исполняемый файл приложения.
  2. Наденьте шлем виртуальной реальности и проверьте результаты.
Performance Profiler

В Oculus Performance Profiler отображается график, показывающий статистику производительности вашего приложения.

Вы можете просмотреть статистику в реальном времени или экспортировать их в файл с разделителями-запятыми (CSV), который можно импортировать в электронную таблицу или базу данных.

Примечание: Для получения дополнительной информации о собранной статистике см. «Производительность шлема виртуальной реальности».

Для того, чтобы использовать этот инструмент:

  1. Перейдите в Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool.exe.
  2. Дважды кликните значок OculusDebugTool.exe. Откроется инструмент Oculus Debug.
  3. Выберите Performance Profiler из списка режимов.
  4. Выберите «Запустить приложение» (Select Launch App) в меню File и выберите приложение в профиле.
  5. Нажмите «Пуск» (Start).
  6. Попросите кого-нибудь надеть шлем виртуальной реальности и начать использовать приложение.
  7. Проверьте результаты на экране.

Рисунок 15. Performance Profiler

  1. Когда вы закончите, нажмите «Стоп» (Stop).
  2. Для того, чтобы экспортировать результаты в CSV, нажмите «Экспорт данных в CSV» и сохраните файл.
Производительность шлема виртуальной реальности

Производительность шлема виртуальной реальности (HUD) позволяет вам или вашим пользователям просматривать информацию о производительности для приложений, созданных с помощью SDK.

Экран производительности шлема виртуальной реальности отображается компоновщиком, который позволяет отображать их с помощью одного вызова SDK. В Oculus Debug Tool или OculusWorldDemo вы можете переключаться через экраны производительности шлема виртуальной реальности, нажав F11.

Обзор производительности

Производительность шлема виртуальной реальности отображает частоту кадров приложения и неиспользуемую производительность оборудования. Эта производительность шлема виртуальной реальности может использоваться вами или пользователем для настройки имитации приложения и точности графики. Поскольку пользователь не может отключить V-Sync, её можно использовать для оценки производительности вместо счётчика частоты кадров. Это также полезно для устранения неполадок, связанных с проблемами приложения или оборудования.

На следующем рисунке показан экран производительности шлема виртуальной реальности:

Рисунок 16. Обзор производительности шлема виртуальной реальности

Следующая информация описывает каждую метрику:

  • App Motion-to-Photon Latency: задержка с момента, когда последняя спрогнозированная информация отслеживания была запрошена приложением с использованием ovr_GetTrackingState(), когда средняя линия сканирования целевого кадра подсвечивается на дисплее шлема виртуальной реальности. Это та же информация, что отображается и в производительности шлема виртуальной реальности.
  • Unused performance: разработанный показатель, который помогает пользователю убедиться в том, что компьютер достаточно мощный, чтобы избежать потери кадров, отображается процент доступной производительности компьютера, не используемой приложением и компоновщиком. Это вычисляется с использованием времени центрального процессора и графического процессора, отслеживаемого с помощью HID-интерфейса RD, разделенного на время встроенного кадра (обратного к частоте обновления) шлема виртуальной реальности. Примечание: поскольку использование графического процессора приближается к 100%, адаптивная очередь наперёд будет выбирать более раннюю начальную точку рендеринга. Если эта начальная точка накладывается на процесс компоновщика в предыдущем кадре, производительность будет выглядеть остроконечной на графике. Если вы начнёте уменьшать её использование, на графике будет отображаться начальное падение прежде, чем он станет более линейным.
  • Application Frames Dropped: увеличивается каждый раз, когда приложение не может отправить новый набор слоев с использованием ovr_SubmitFrame() перед выполнением компоновщика перед каждой V-Sync (вертикальная синхронизация).
  • Compositor Frames Dropped: увеличивается каждый раз, когда компоновщик не может представить новый визуализированный кадр в V-Sync (вертикальная синхронизация).
Время задержки

В хронологическом режиме производительности шлема виртуальной реальности отображаются графики App to Mid – Photon, Timewarp to Photon – Start и Timewarp to Photon – Start.

На следующем скриншоте показан временной интервал времени задержки:

Рисунок 17. Время задержки

Следующая информация описывает каждую метрику:

  • App Tracking to Mid-Photon: задержка, когда приложение вызвано ovr_GetTrackingState() для того, чтобы конечный кадр в конечном итоге был отображён (то есть высвечен) на дисплее шлеме виртуальной реальности.
  • Timewarp to Mid-Photon: задержка с момента, когда последняя спрогнозированная информация позиционного отслеживания подается на графический процессор для выполнения таймрапа, до момента, когда средняя линия сканирования целевого кадра подсвечивается на дисплее шлема виртуальной реальности
  • Flip to Photon – Start: разница времени от точки, в которую обратный буфер отображается в шлеме виртуальной реальности, до точки, на которой отображается первая линия сканирования целевого кадра на дисплее шлема виртуальной реальности.
Время выполнения рендеринга

Средство HID Application Render Timing отображает информацию о времени выполнения приложения.

На следующем скриншоте показан Application Render Timing HUD:

Рисунок 18. Время выполнения рендеринга

Следующая информация описывает каждую метрику:

  • App Missed Submit Count: увеличивается каждый раз, когда приложение не может отправить новый набор уровней с использованием ovr_SubmitFrame() перед исполнением компоновщика и перед каждой V-Sync (вертикальная синхронизация).
  • App Frame-rate: скорость, с которой рендеринг приложений вызывает ovr_SubmitFrame(). Он никогда не будет превышать собственную частоту обновления шлема виртуальной реальности, так как вызов ovr_SubmitFrame() замедляет выполнение работы центрального процессора приложения при необходимости.
  • App Render GPU Time: общее время графического процессора, потраченное на рендеринг клиентского приложения. Оно включает в себя работу, выполняемую приложением после возврата из ovr_SubmitFrame(), используя зеркальную текстуру, если это возможно.
  • Оно также может содержать «пузыри» командного буфера графического процессора, если поток центральный процессор приложения не выводит данные на графический процессор достаточно быстро для того, чтобы его поддерживать. Аналогично, если приложение принуждает графический редактор к полному использованию, работа над следующим кадром (N + 1) может быть вытеснена обработкой компоновщика в текущем кадре (N). Из-за того, как работает запрос синхронизации графического процессора для приложения, это может привести к искусственно раздутым показателям времени использования приложений, поскольку они начнут включать время использования графического процессора компоновщика.
  • App Render CPU Time: время разницы во времени, когда приложение продолжало выполнение работы центраьного процессора после того, как ovr_SubmitFrame() вернул последующий вызов ovr_SubmitFrame(). Оно покажет «N/A», если тестер задержки не работает должным образом (например, дисплей шлема виртуальной реальности в спящем режиме из-за длительного бездействия). Оно включает в себя дополнительные затраты IPC для компоновщика после вызова ovr_SubmitFrame() клиентским приложением.
  • App Queue Ahead Time: для того, чтобы улучшить параллелизм процессора и графического процессора и увеличить время, необходимое графическому процессору для обработки кадра, SDK автоматически применяет очередь до 1 кадра. Это значение отображает количество времени ожидания перед очередью (в миллисекундах). Дополнительные сведения об адаптивной очереди вперед см. в разделе «Адаптивная очередь наперёд».
Время отображения компоновщика

Средство отображения времени компоновщика (Compositor Render Timing HUD) отображает информацию о времени выполнения для Oculus Runtime Compositor. Oculus Compositor применяет искажения и TimeWarp к слоистым текстурам глаз, которые предоставляются приложением.

Приведённый ниже скриншот демонстрирует Compositor Render Timing HUD:

Рисунок 19. Время рендеринга

Следующая информация описывает каждую метрику:

  • Compositor Missed V-Sync Count: увеличивается каждый раз, когда компоновщик не может предоставить новый визуализированный кадр в V-Sync (вертикальная синхронизация).
  • Compositor Frame-rate: скорость конечной композиции; она не зависит от скорости рендеринга клиентского приложения. Поскольку компоновщик всегда заблокирован для V-Sync, это значение никогда не будет превышать частоту обновления шлема виртуальной реальности. Но если компоновщик не сможет закончить новые кадры вовремя, он может опуститься ниже собственной частоты обновления.
  • Compositor GPU Time: время, которое уходит у графического процессора на выполнение рендеринга компоновщика. Оно включает TimeWarp и искажение всех слоев, представленных приложением. Количество активных слоёв, их разрешение и требуемое качество выборки могут влиять на время графического редактора.
  • Comp Gpu-End to V-Sync: количество времени между тем, когда графический редактор завершает рендеринг компоновщика, до момента, когда удаляется V-Sync, и этот буфер начинает сканирование шлема виртуальной реальности.
Статистика асинхронного SpaceWarp

Асинхронный SpaceWarp HUD отображает статистику активности и отслеживания для асинхронного SpaceWarp, которая выполняется как часть Oculus Runtime Compositor. Асинхронный SpaceWarp автоматически активируется, когда приложение не отвечает требуемой частоте кадров для подключенного шлема виртуальной реальности. Когда асинхронный SpaceWarp активируется, он заставляет приложение запускаться с половиной нормальной частоты кадров при экстраполяции каждого другого кадра. Это даёт приложению больше времени для завершения своей работы.

На следующем скриншоте показан ASW HUD:

Рисунок 20. Статистика ASW

Следующая информация описывает каждую метрику:

  • ASW Status: показывает доступность и текущий статус ASW. «Not Available» может быть связано с операционной системой и/или графическим типом, используемым на компьютере. «Available – Not Active» означает, что приложение успешно поддерживает требуемую частоту обновления, поэтому ASW не активируется.
  • ASW Active-Toggle Count: отслеживает количество срабатываний ASW на время работы шлема виртуальной реальности.
  • ASW Presented-Frame Count: отслеживает количество кадров, экстраполированных ASW, которые были отображены. Когда ASW активна, приложение вынуждено работать с половинной скоростью, а потому вам следует принять во внимание, что это значение увеличится на 45 fps при частоте шлема виртуальной реальности в 90 Гц.
  • ASW Failed-Frame Count: отслеживает количество экстраполированных кадров ASW, которые необходимы для отображения, но которые не удалось выполнить вовремя. Это может происходить по разным причинам, но также может быть вызвано конфликтом ресурсов операционной системы или превышением возможностей системы.
Информация о версии

Version Information HUD отображает информацию о шлеме виртуальной реальности и версии SDK, используемой для создания приложения.

На следующем скриншоте демонстрируется информация о Version Information HUD:

Рисунок 21. Version Information HUD

Следующая информация описывает каждую метрику:

  • OVR SDK Runtime Ver: версия текущего установленного рантайма. Каждое приложение, использующее OVR SDK с версии 0.5.0, использует этот рантайм.
  • OVR SDK Client DLL Ver: версия SDK, с которого было скомпилировано клиентское приложение.
  • HMD Type: тип шлема виртуальной реальности.
  • HMD Serial: серийный номер шлема виртуальной реальности.
  • HMD Firmware: версия установленной прошивки шлема виртуальной реальности.
  • Sensor Serial: серийный номер позиционного сенсора.
  • Sensor Firmware: версия установленной прошивки позиционного сенсора.
Показатель эффективности

Асинхронный TimeWarp (ATW) может маскировать проблемы с задержкой и дрожанием, которые обычно кажутся очевидными. Для того, чтобы помочь вам определить, когда ваше приложение или игра не выполняются, и для того, чтобы проверить игру или приложение перед отправкой, Oculus обеспечивает показатели эффективности.

Когда это возможно, в правом верхнем углу шлема виртуальной реальности появляется буквенный код тогда, когда приложение испытывает проблему с производительностью. На следующем рисунке показан пример индикатора производительности с отображением L и F:

Рисунок 22. Показатель эффективности

Для того, чтобы включить индикатор производительности, установите следующий раздел реестра:

 

HKLM\SOFTWARE\Oculus VR, LLC\LibOVR

FrameDropHUDEnabled (DWORD)

 

Enable = 1

Disable = 0

 

Индикатор производительности может возвращать следующие значения:

  • L – возникает проблема с задержкой; применяется тогда, когда имеется более одного кадра очереди.
  • F – приложение не поддерживает частоту кадров.
  • C – компоновщик не поддерживает частоту кадров. Возможные причины:
  1. Программы, такие как антивирусное программное обеспечение, перегружают процессор.
  2. Центральный процессор не может обрабатывать количество потоков.
  3. Центральный процессор или графический процессор не соответствует рекомендуемой спецификации.
  4. Определенные шаблоны использования графического процессора, такие как интенсивное использование шейдеров и тесселяции, влияют на частоту кадров.
  5. Наличие проблемы с драйвером графического редактора.
  6. Наличие проблемы с оборудованием.
  • U – произошла неизвестная ошибка.

Каждое предупреждение длится один кадр. Таким образом, если L остается видимым, приложение имеет проблемы с постоянной задержкой.

Зеркало компоновщика

Зеркало компоновщика Compositor Mirror отображает то, что отображается в Oculus Rift. Он имеет несколько параметров отображения, полезных для разработки, устранения неполадок и представления.

Всё, что появляется в Oculus Rift, может быть показано в инструменте «Зеркало компоновщика», включая Oculus Home, границы системы Guardian, уведомления в игре и замирания при переходах. Он совместим со всеми играми и приложениями независимо от того, разработаны ли они были с использованием собственного SDK для компьютера или игрового движка.

Поиск инструмента

Инструмент Compositor Mirror расположен в папке C:\Program Files\Oculus\Support\oculus-diagnostics\OculusMirror.exe.

Параметры отображения изображения

Инструмент Compositor Mirror имеет несколько параметров отображения.

Режим отображения по умолчанию

Режим по умолчанию рекомендуется для живых презентаций и демонстраций. Если вы дважды кликните OculusMirror в Проводнике Windows или запустите его из командной строки без указания каких-либо параметров, инструмент отобразит окно с разрешением 1365×768, показывающее прямолинейный вид изображения правого глаза, пограничного слоя системы Guardian и уровня уведомления Oculus.

Другие режимы отображения:

OculusMirror.exe –leftEyeOnly

Отображается изображение в левом глазу прямолинейно.

OculusMirror.exe –rightEyeOnly

Отображается изображение в правом глазу прямолинейно.

OculusMirror.exe –rectilinearBothEyes

Отображается оба изображения в прямолинейном виде без системы Guardian или уведомлений.

OculusMirror.exe –rectilinearBothEyes

Отображается оба изображения в прямолинейном виде с помощью границы системы Guardian.

OculusMirror.exe -postDistortion

Отображается оба изображения глаз, исправленные так, чтобы показывать искажения объектива и хроматической аберрации, границы системы Guardian и уведомлений Oculus.

Изменение размера окна

Вы можете изменить размер окна, перетащив границы окна на рабочий стол. Вы также можете использовать -width и -hight как пиксельные параметры для того, чтобы установить размер окна из командной строки. Если вы превысили разрешение вашего основного дисплея, окно будет уменьшено. Эти параметры должны быть перед любыми параметрами режима изображения. Например:

 

OculusMirror.exe -width 2160 -height 2160 -rightEyeOnly

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.