Выпуск открытой платформы виртуальной реальности Monado 0.4
Компания Collabora представила выпуск Monado 0.4, открытой реализации стандарта OpenXR. Стандарт OpenXR подготовлен консорциумом Khronos и определяет универсальный API для создания приложений виртуальной и дополненной реальности, а также набор прослоек для взаимодействия с оборудованием, абстрагирующим особенности конкретных устройств. Monado предоставляет runtime, полностью соответствующий требованиям OpenXR, который может использоваться для организации работы с виртуальной и дополненной реальности на смартфонах, планшетах, ПК и любых других устройствах. Код проекта написан на языке Си и распространяется под свободной лицензией Boost Software License 1.0, совместимой с GPL.
Основные изменения:
- Реализация доведена до состояния, успешно проходящего все предоставляемые консорциумом Khronos тесты на совместимость со стандартом OpenXR. Тесты выполняются как с графическими API OpenGL, так и с API Vulkan, при использовании сборки для рабочего стола в режиме симуляции устройства виртуальной реальности. Официально совместимость с OpenXR пока не признана, так как в Khronos не отправлена соответствующая заявка на проверку, но любой желающий может убедиться в прохождении тестов самостоятельно, воспользовавшись открытым набором OpenXR Conformance Test Suite.
- Продолжена работа по поддержке оверлеев и возможности подключения нескольких приложений OpenXR к одному экземпляру сервиса Monado с одновременной визуализацией при помощи расширения XR_EXTX_overlay. Оверлеи предоставляют средства для многослойной отрисовки, необходимой для приложений, 3D-интерфейс которых накладывается поверх сцены, таких как xrdesktop или Pluto VR.
- Предложена начальная поддержка платформы Android. Monado runtime теперь может быть установлен в форме APK-пакета, который могут использовать сторонние приложения, такие как тестовая программа hello_xr из Khronos OpenXR SDK. Для отслеживания ориентации устройства в пространстве используется IMU (датчики ориентации и ускорения). Для просмотра приложений OpenXR в режиме виртуальной реальности можно использовать 3D-шлемы Google Cardboard и Daydream, для которых учтены коэффициенты искажения (в дальнейшем планируется обеспечить возможность калибровки по QR-коду).
Состав платформы:
- Движок пространственного зрения (отслеживание объектов, определение поверхностей, реконструкция мешей, распознавание жестов, отслеживания движения глаз);
- Движок для отслеживания персонажа (гиростабилизатор, предсказание движений, контроллеры, оптическое отслеживание движений через камеру, отслеживание позиции на основе данных от 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. Имеется поддержка проекционных слоёв.
Источник: http://www.opennet.ru/opennews/art.shtml? num=54016
© OpenNet