Die Veröffentlichung von Monado 25.1.0 wurde vorgestellt, das eine offene Implementierung des OpenXR-Standards entwickelt. Der OpenXR-Standard wurde von der Khronos-Gruppe vorbereitet und definiert eine universelle API zur Erstellung von Anwendungen für virtuelle und erweiterte Realität sowie eine Reihe von Schichten zur Interaktion mit Hardware. Monado bietet ein Runtime, das vollständig den Anforderungen von OpenXR entspricht und zur Organisation der Arbeit mit virtueller und erweiterter Realität auf Smartphones, Tablets, PCs und anderen Geräten verwendet werden kann. Der Projektcode ist in C geschrieben und wird unter der freien Lizenz Boost Software License 1.0 verteilt, die mit der GPL kompatibel ist.
Hauptfunktionen der Plattform:
- Eine Engine für räumliches Sehen, die Aufgaben wie Objekterkennung, Flächenbestimmung, Mesh-Rekonstruktion, Gestenerkennung und Augenbewegungsverfolgung ausführt.
- Eine Engine zur Character-Tracking, die Komponenten für die Vorhersage von Bewegungen, die optische Verfolgung über eine Kamera, die Positionsverfolgung basierend auf Daten von VR-Headsets, Gimbal und Controllern anbietet.
- Kompositserver, der Compositing, direkten Output-Modus, Video-Passthrough, Linsenkorrektur und die Erstellung eines Arbeitsbereichs für die gleichzeitige Nutzung mehrerer Anwendungen unterstützt.
- Interaktions-Engine, die eine Sammlung von Widgets und ein Toolkit für virtuelle Anwendungen bereitstellt und Werkzeuge zur Simulation physikalischer Prozesse umfasst.
- Kompositserver, der direkten Output an ein Gerät unterstützt. Shader für Vive und Panotools sind verfügbar. Unterstützung für Projektionsschichten ist vorhanden.
- Werkzeuge zur Kalibrierung der Hardware und zur Bestimmung der Bewegungsgrenzen.
- Treiber für Virtual-Reality-Headsets HDK (OSVR Hacker Developer Kit), PlayStation VR HMD, SteamVR, Panotools (PSVR), verschiedene Modelle von Vive und Geräte mit OpenHMD-Treibern.
- Treiber für die Augmented-Reality-Brille North Star.
- Treiber für Positionstracking-Systeme wie Intel RealSense T265.
- Set von udev-Regeln zur Konfiguration des Zugriffs auf Virtual-Reality-Geräte ohne Root-Rechte.
- Bewegungsverfolgungskomponenten mit einem Framework für die Videoübertragung und -filterung.
- Charakterverfolgungssystem mit sechs Freiheitsgraden (6DoF, vorwärts/rückwärts, aufwärts/abwärts, links/rechts, Gieren, Nick, Rollen) für PSVR- und PS Move-Controller.
- Module für die Integration mit den Grafik-APIs Vulkan und OpenGL.
- Headless-Modus.
- Steuerung der räumlichen Interaktionen und des Sichtpunkts.
- Basisunterstützung für die Synchronisierung von Frames und die Eingabe von Informationen (Aktionen).
Zu den Änderungen in der neuen Version gehören:
- Das Tracking der Handbewegungen wurde verbessert. Es wurde Unterstützung für die OpenXR-Erweiterung XR_EXT_hand_tracking_data_source hinzugefügt, die es ermöglicht, die Handtracking-Modi "unobstructed" (Hand frei) und "conforming" (ein Objekt, wie einen Controller, in der Hand) separat zu verarbeiten. Die Qualität der Steuerung mit Controllern wurde erhöht, insbesondere bei gleichzeitiger Verwendung von Controllern und Handtracking. In den Treibern wurde die Unterstützung neuer Rollen implementiert und Probleme mit der Orientierung sowie der Erkennung der Handposition wurden behoben.
- Das System xrt_future wurde vorgestellt und die Unterstützung für die OpenXR-Erweiterung XR_EXT_future realisiert, die Möglichkeiten für die Durchführung von Operationen im asynchronen Modus bietet (in zukünftigen Versionen des OpenXR-Standards wird die Unterstützung für Operationen eingeführt, die gestartet werden können, ohne auf den Abschluss vorheriger Operationen zu warten).
- Neue Treiber für die 3D-Headsets Subur S1 und Rift DK2 wurden hinzugefügt. Die Unterstützung für die 3D-Headsets Razer Hydra, Vive Pro 2, Xreal Air 2 Ultra und Fujitsu wurde verbessert.
- Der Treiber SolarXR IPC wurde hinzugefügt, um Tracking-Daten von сервера SlimeVR.
- Im kompakten Server Die Verzögerungskompensation zwischen der Kopfbewegungsverfolgung und der tatsächlichen Bildausgabe auf Bildschirmen mit Zeilensprungverfahren (rolling-scanout) wurde implementiert. Die Zuverlässigkeit der Einstellung sich gegenseitig ersetzender virtueller Framebuffer (swapchain), die für eine flüssige Ausgabe sorgen, wurde erhöht.
- Im Hauptinterface der Android-Plattform wurde die Unterstützung für das Scannen und Speichern von QR-Codes zur Kalibrierung von Cardboard-Geräten eingeführt.
Quelle: opennet.ru
