Компания Collabora представила выпуск Monado 21.0.0, открытой реализации стандарта OpenXR. Стандарт OpenXR подготовлен консорциумом Khronos и определяет универсальный API для создания приложений виртуальной и дополненной реальности, а также набор прослоек для взаимодействия с оборудованием, абстрагирующим особенности конкретных устройств. Monado предоставляет runtime, полностью соответствующий требованиям OpenXR, который может использоваться для организации работы с виртуальной и дополненной реальности на смартфонах, планшетах, ПК и любых других устройствах. Код проекта написан на языке Си и распространяется под свободной лицензией Boost Software License 1.0, совместимой с GPL.
Monado 21.0.0 стал первым выпуском, официально совместимым со стандартом OpenXR 1.0. Консорциум Khronos провёл тестирование на совместимость и добавил Monado в список официально совместимых реализаций OpenXR. Тесты выполнены как с графическими API OpenGL, так и с API Vulkan, при использовании сборки для рабочего стола в режиме симуляции устройства виртуальной реальности. Изначально версии планировалось присвоить номер 1.0, но разработчики решили использовать нумерацию с использованием года, по аналогии с нумерацией версий Mesa.
Вторым важным новшеством стала подготовка драйвера для платформы SteamVR с реализацией трекера состояний, а также генератора плагинов к SteamVR, позволяющего использовать в SteamVR любые драйверы шлемов (HMD) и контроллеров, созданные для Monado. Например, Monado предоставляет драйверы для шлемов виртуальной реальности OpenHMD, Panotools (PSVR) и Vive/Vive Pro/Valve Index.
Состав платформы:
- Движок пространственного зрения (отслеживание объектов, определение поверхностей, реконструкция мешей, распознавание жестов, отслеживания движения глаз);
- Движок для отслеживания персонажа (гиростабилизатор, предсказание движений, контроллеры, оптическое отслеживание движений через камеру, отслеживание позиции на основе данных от VR-шлема);
- Композитный сервер (режим прямого вывода, проброс видео, корректировка линз, композитинг, формирование рабочего пространства для одновременно работы с несколькими приложениями);
- Движок взаимодействия (симуляция физических процессов, набор виджетов и тулкит для приложений виртуальной реальности);
- Инструментарий (калибровка оборудования, установка границ перемещения).
Основные возможности:
- Драйвер для шлемов виртуальной реальности HDK (OSVR Hacker Developer Kit) и PlayStation VR HMD, а также для контроллеров Vive Wand, Valve Index, PlayStation Move и Razor Hydra.
- Возможность использования оборудования, поддерживаемого проектом OpenHMD.
- Драйвер для очков дополненной реальности North Star.
- Драйвер для системы отслеживания позиции Intel RealSense T265.
- Набор udev-правил для настройки доступа к устройствам виртуальной реальности без получения полномочий root.
- Компоненты для отслеживания движения с фреймворком для фильтрации и потоковой передачи видео.
- Система отслеживания персонажа с шестью степенями свободы (6DoF, вперёд/назад, вверх/вниз, влево/вправо, рыскание, тангаж, крен) для контроллеров PSVR и PS Move.
- Модули для интеграции с графическими API Vulkan и OpenGL.
- Безэкранный режим (Headless).
- Управление пространственным взаимодействием и точкой обзора.
- Базовая поддержка синхронизации кадров и ввода информации (действий).
- Готовый композитный сервер, поддерживающий прямой вывод на устройство, минуя системный X-сервер. Предоставляются шейдеры для Vive и Panotools. Имеется поддержка проекционных слоёв.