La version 25.0.0 du projet Monado a été publiée, développant une mise en œuvre ouverte de la norme OpenXR. La norme OpenXR a été préparée par le consortium Khronos et définit une API universelle pour créer des applications de réalité virtuelle et augmentée, ainsi qu'un ensemble de couches pour interagir avec le matériel. Monado fournit un runtime entièrement conforme aux exigences d'OpenXR, qui peut être utilisé pour organiser le travail avec la réalité virtuelle et augmentée sur des smartphones, des tablettes, des PC et d'autres appareils. Le code du projet est écrit en C et est distribué sous la licence libre Boost Software License 1.0, compatible avec la GPL.
Composition de la plateforme :
- Moteur de vision spatiale, réalisant des tâches telles que le suivi d'objets, la détection de surfaces, la reconstruction de maillages, la reconnaissance de gestes et le suivi des mouvements oculaires.
- Moteur de suivi de personnage, proposant des composants pour la prédiction des mouvements, le suivi optique des mouvements via une caméra, le suivi de position basé sur les données d'un casque VR, d'un gyrostabilisateur et de contrôleurs.
- Composite serveur, prenant en charge le compositing, le mode de sortie directe, la diffusion vidéo, la correction des lentilles et la création d'un espace de travail pour travailler simultanément avec plusieurs applications.
- Moteur d'interaction, fournissant un ensemble de widgets et un toolkit pour des applications en réalité virtuelle, incluant également des outils pour simuler des processus physiques.
- Boîte à outils pour la calibration de l'équipement et la détermination des limites de déplacement.
Fonctionnalités principales :
- Pilotes pour casques de réalité virtuelle HDK (OSVR Hacker Developer Kit), PlayStation VR HMD, SteamVR, Panotools (PSVR), divers modèles de Vive et appareils pour lesquels des pilotes OpenHMD sont disponibles.
- Pilote pour les lunettes de réalité augmentée North Star.
- Pilote pour les systèmes de suivi de position, tels qu'Intel RealSense T265.
- Ensemble de règles udev pour configurer l'accès aux appareils de réalité virtuelle sans obtenir les privilèges root.
- Composants pour le suivi de mouvement avec un framework pour le filtrage et la diffusion vidéo.
- Système de suivi de personnage à six degrés de liberté (6DoF, avant/arrière, haut/bas, gauche/droite, lacet, tangage, roulis) pour les contrôleurs PSVR et PS Move.
- Modules pour l'intégration avec les API graphiques Vulkan et OpenGL.
- Mode sans tête (Headless).
- Gestion de l'interaction spatiale et du point de vue.
- Support de base pour la synchronisation des images et l'entrée d'informations (actions).
- Serveur composite prêt, prenant en charge la sortie directe vers l'appareil. Des shaders pour Vive et Panotools sont fournis. Le support pour les couches de projection est inclus.

Parmi les changements de la nouvelle version :
- Les interfaces logicielles internes XRT (XRT Runtime) ont été étendues pour abstraire les caractéristiques de bas niveau de l'interaction avec le matériel. La méthode xrt_instance_android et le fichier d'en-tête xrt/xrt_android.h avec des appels pour la plateforme Android ont été ajoutés. Des fonctionnalités pour gérer la fréquence de rafraîchissement de l'écran ont été ajoutées à xrt_compositor. Le support de l'extension XR_FB_face_tracking2 a été ajouté, ainsi que la possibilité d'activer à chaud des fonctionnalités avancées, telles que le contrôle par le suivi oculaire.
- Des fonctions pour déterminer l'état de charge de la batterie et obtenir les propriétés des dispositifs liés au suivi des mouvements ont été ajoutées à libmonado.
- L'extension OpenXR XR_EXT_active_action_set_priority a été mise en œuvre dans les traceurs d'état (State Trackers), garantissant la prise en charge de la spécification OpenXR 1.1.47 et ajoutant la possibilité d'activer et de désactiver des fonctionnalités avancées, telles que le suivi du mouvement des yeux.
- Dans les pilotes pour la plateforme Android, la charge du CPU a été réduite.
- Un support pour l'API non officielle Haptics pour les dispositifs Oculus Rift CV1 a été ajouté au pilote utilisant OpenHMD.
- Le pilote de simulation a ajouté le support pour les masques de visibilité afin de contrôler quels objets seront visibles dans chaque œil.
- La prise en charge des casques 3D HP Reverb G2 Omnicept et Acer AH100 a été ajoutée.
- Dans le composite le serveur Le support de la modification dynamique de la fréquence de mise à jour de l'écran a été mis en œuvre sur la plateforme Android. Une variable d'environnement WAYLAND_CONNECTOR a été ajoutée pour sélectionner le périphérique de sortie dans les environnements basés sur Wayland.
Source : opennet.ru
