Второй выпуск Monado, платформы для устройств виртуальной реальности

Компания Collabora представила выпуск проекта Monado 0.2, нацеленного на создание открытой реализации стандарта OpenXR. Monado предоставляет runtime, полностью соответствующий требованиям OpenXR, который может использоваться для организации работы с виртуальной и дополненной реальности на смартфонах, планшетах, ПК и любых других устройствах. Стандарт OpenXR подготовлен консорциумом Khronos и определяет универсальный API для создания приложений виртуальной и дополненной реальности, а также набор прослоек для взаимодействия с оборудованием, абстрагирующим особенности конкретных устройств. Код проекта написан на языке Си и распространяется под свободной лицензией Boost Software License 1.0, совместимой с GPL.

Среди добавленных улучшений:

  • В композитном сервере появилась поддержка многослойной отрисовки, позволяющей приложениям размещать несколько структур XrCompositionLayerProjection и XrCompositionLayerQuad. Работа с несколькими слоями важна для приложений, использующих четыре слоя для отрисовки пользовательских интерфейсов, а также является базисом для дальнейшей поддержки приложений с наложенным поверх сцены интерфейсом, таких как xrdesktop или Pluto VR.

  • Комнозитный сервер и драйверы вынесены в отдельные сервисные процессы. Ведётся работа по предоставлению возможности подключения нескольких приложений OpenXR к одному экземпляру сервиса Monado и их одновременной визуализации при помощи расширения XR_EXTX_overlay.
  • Обеспечена поддержка контроллеров Vive Wand и Valve Index и их использования для управления движением с тремя степенями свободы (3DOF, перемещение по трём направлениям). В ближайшие месяцы планируется добавить поддержку шести степеней свободы (6DOF, вперёд/назад, вверх/вниз, влево/вправо, рыскание, тангаж, крен), используя систему отслеживания Lighthouse.
  • Добавлена поддержка Bluetooth LE, которая задействована в драйвере для Google Daydream 3DOF Controller.
  • Добавлен драйвер arduino для экспериментов при создании собственных контроллеров;
  • В основной состав интегрирован драйвер открытой системы отслеживания позиции libsurvive.
  • В отладочном интерфейсе пользователя появилась поддержка пользовательских графиков, которые в текущем виде задействованы для визуализации нагрузки на CPU при отрисовке.
  • В monado-gui реализована поддержка хранения настроек в каталогах $XDG_CONFIG_HOME/monado и $HOME/.config/monado. Добавлена возможность настройки стереокамер с интерфейсом USB для PSMV (PlayStation Move) и PSVR (PlayStation VR).
  • Переработана система сборки. Добавлен PPA-репозиторий для Ubuntu с пакетами Monado, OpenXR-SDK и udev-правилами xr-hardware.
  • Добавлена поддержка запуска сервиса monado-service при помощи активации через сокет в systemd.




Состав платформы:

  • Движок пространственного зрения (отслеживание объектов, определение поверхностей, реконструкция мешей, распознавание жестов, отслеживания движения глаз);
  • Движок для отслеживания персонажа (гиростабилизатор, предсказание движений, контроллеры, оптическое отслеживание движений через камеру, отслеживание позиции на основе данных от VR-шлема);
  • Композитный сервер (режим прямого вывода, проброс видео, корректировка линз, композитинг, формирование рабочего пространства для одновременно работы с несколькими приложениями);
  • Движок взаимодействия (симуляция физических процессов, набор виджетов и тулкит для приложений виртуальной реальности);
  • Инструментарий (калибровка оборудования, установка границ перемещения).

Основные возможности:

  • Драйвер для шлемов виртуальной реальности HDK (OSVR Hacker Developer Kit) и PlayStation VR HMD, а также для контроллеров PlayStation Move и Razor Hydra.
  • Возможность использования оборудования, поддерживаемого проектом OpenHMD.
  • Драйвер для очков дополненной реальности North Star.
  • Драйвер для системы отслеживания позиции Intel RealSense T265.
  • Набор udev-правил для настройки доступа к устройствам виртуальной реальности без получения полномочий root.
  • Компоненты для отслеживания движения с фреймворком для фильтрации и потоковой передачи видео.
  • Система отслеживания персонажа с шестью степенями свободы (6DoF, вперёд/назад, вверх/вниз, влево/вправо, рыскание, тангаж, крен) для контроллеров PSVR и PS Move.
  • Модули для интеграции с графическими API Vulkan и OpenGL.
  • Безэкранный режим (Headless).
  • Управление пространственным взаимодействием и точкой обзора.
  • Базовая поддержка синхронизации кадров и ввода информации (действий).
  • Готовый композитный сервер, поддерживающий прямой вывод на устройство, минуя системный X-сервер. Предоставляются шейдеры для Vive и Panotools. Имеется поддержка проекционных слоёв.

0_1582889597.jpg

Источник: http://www.opennet.ru/opennews/art.shtml?num=53049

© OpenNet