Firma Collabora wydanie projektu , mającego na celu stworzenie otwartej implementacji standardu . Monado zapewnia runtime w pełni zgodny z wymaganiami OpenXR, który może być używany do organizacji pracy z rzeczywistością wirtualną i rozszerzoną na smartfonach, tabletach, komputerach PC oraz innych urządzeniach. Standard OpenXR został opracowany przez konsorcjum Khronos i definiuje uniwersalne API do tworzenia aplikacji rzeczywistości wirtualnej i rozszerzonej, a także zestaw warstw do interakcji z sprzętem, abstrahując od cech konkretnych urządzeń. Kod projektu napisano w języku C i jest objęty licencją Boost Software License 1.0, zgodną z GPL.
Wśród dodanych usprawnień:
- W serwerze kompozytowym wprowadzono wsparcie dla wielowarstwowego renderowania, co pozwala aplikacjom na umieszczanie wielu struktur i . Praca z wieloma warstwami jest ważna dla aplikacji używających czterech warstw do renderowania interfejsów użytkownika, a także stanowi podstawę dla dalszego wsparcia aplikacji z nałożonym interfejsem na scenę, takich jak lub .

- Serwer kompozytowy i sterowniki zostały przeniesione do osobnych procesów serwisowych. w celu umożliwienia połączenia wielu aplikacji OpenXR z jednym instancją usługi Monado i ich równoczesnej wizualizacji za pomocą rozszerzenia XR_EXTX_overlay.
- Zapewniono wsparcie dla kontrolerów Vive Wand i Valve Index oraz ich wykorzystania do zarządzania ruchem z trzema stopniami swobody (3DOF, poruszanie się w trzech kierunkach). W najbliższych miesiącach planowane jest dodanie wsparcia dla sześciu stopni swobody (6DOF, przód/tył, w górę/w dół, w lewo/w prawo, yaw, pitch, roll), wykorzystując system śledzenia .
- Dodano wsparcie dla Bluetooth LE, które jest wykorzystywane w sterowniku dla Google Daydream 3DOF Controller.
- Dodano sterownik arduino do eksperymentów związanych z tworzeniem własnych kontrolerów;
- Do głównej aplikacji zintegrowano sterownik otwartego systemu śledzenia pozycji .
- W interfejsie debugowania użytkownika dodano wsparcie dla niestandardowych wykresów, które w obecnej wersji są wykorzystywane do wizualizacji obciążenia CPU podczas renderowania.
- W monado-gui zaimplementowano wsparcie dla przechowywania ustawień w katalogach $XDG_CONFIG_HOME/monado i $HOME/.config/monado. Dodano możliwość konfigurowania stereokamer z interfejsem USB dla PSMV (PlayStation Move) i PSVR (PlayStation VR).
- Przeprojektowano system budowy. Dodano dla Ubuntu z pakietami Monado, OpenXR-SDK i regułami udev xr-hardware.
- Dodano wsparcie dla uruchamiania usługi monado-service poprzez aktywację za pomocą gniazda w systemd.
Skład platformy:
- Silnik przestrzennego widzenia (śledzenie obiektów, określanie powierzchni, rekonstrukcja siatek, rozpoznawanie gestów, śledzenie ruchu oczu);
- Silnik do śledzenia postaci (girostabilizator, prognozowanie ruchów, kontrolery, optyczne śledzenie ruchów przez kamerę, śledzenie pozycji na podstawie danych z VR-headsetu);
- Serwer kompozytowy (tryb bezpośredniego wyjścia, przekazywanie wideo, korekcja soczewek, kompozytowanie, tworzenie przestrzeni roboczej dla jednoczesnej pracy z wieloma aplikacjami);
- Silnik interakcji (symulacja procesów fizycznych, zestaw widżetów i toolkit dla aplikacji rzeczywistości wirtualnej);
- Narzędzia (kalibracja sprzętu, instalacja ).
Podstawowe funkcje:
- Sterownik dla zestawów słuchawkowych wirtualnej rzeczywistości (OSVR Hacker Developer Kit) oraz
, a także dla kontrolerów PlayStation Move i . - Możliwość korzystania z , wspieranego przez projekt .
- Sterownik dla okularów rozszerzonej rzeczywistości .
- Sterownik dla systemu śledzenia pozycji Intel RealSense T265.
- do konfiguracji dostępu do urządzeń rzeczywistości wirtualnej bez uzyskiwania uprawnień root.
- Komponenty do śledzenia ruchu z frameworkiem do filtrowania i strumieniowania wideo.
- System śledzenia postaci z sześcioma stopniami swobody (6DoF, przód/tył, góra/dół, lewo/prawo, rotacja, przechylenie, pochylenie) dla kontrolerów PSVR i PS Move.
- Moduły do integracji z grafiką API Vulkan i OpenGL.
- Tryb bez ekranowy (Headless).
- Zarządzanie przestrzenną interakcją i punktem widzenia.
- Podstawowe wsparcie synchronizacji klatek i wprowadzania informacji (działań).
- Gotowy serwer kompozytowy, wspierający bezpośrednie wyjście na urządzenie, omijając systemowy serwer X. Oferowane są shadery dla Vive i . Obsługiwane są warstwy projekcyjne.
Źródło: opennet.ru

