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

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

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

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

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

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


Среди изменений в новом выпуске:

  • Расширены внутренние программные интерфейсы XRT (XRT Runtime), абстрагирующие низкоуровневые особенности взаимодействия с аппаратным обеспечением. Добавлен метод xrt_instance_android и заголовочный файл xrt/xrt_android.h с вызовами для платформы Android. В xrt_compositor добавлены функции для управления частотой обновления экрана. Добавлена поддержка расширения XR_FB_face_tracking2 и возможность активации на лету расширенной функциональности, такой как управление через отслеживания движения глаз.
  • В libmonado добавлены функции для определения состояния заряда аккумулятора и получения свойств устройств, связанных с отслеживанием движений.
  • В трекерах состояния (State Trackers) реализовано OpenXR-расширение XR_EXT_active_action_set_priority, обеспечена поддержка спецификации OpenXR 1.1.47 и добавлена возможность включения и отключения расширенных возможностей, таких как отслеживание движения глаз.
  • В драйверах для платформы Android снижена нагрузка на CPU.
  • В драйвер, использующий OpenHMD, добавлена поддержка неофициального API Haptics для устройств Oculus Rift CV1.
  • В драйвер симуляции добавлена поддержка масок видимости для управления тем, какие объекты будут видны в каждом глазу.
  • Добавлена поддержка 3D-шлемов HP Reverb G2 Omnicept и Acer AH100.
  • В композитном сервере реализована поддержка динамического изменения частоты обновления экрана на платформе Android. Добавлена переменная окружения WAYLAND_CONNECTOR для выбора устройства вывода в окружениях на базе Wayland.

Release. Ссылка here.