Il progetto xrdesktop per utilizzare GNOME e KDE nei visori di realtà virtuale

Sviluppatori dell'azienda Collabora hanno presentato progetto xrdesktop, nell'ambito del quale, con il supporto di Valve, viene sviluppata una libreria con elementi per interagire con i tradizionali desktop all'interno di ambienti tridimensionali creati con l'uso di occhiali 3D e visori di realtà virtuale. Il codice della libreria è scritto in C e distribuito sotto licenza MIT. Versioni pronte all'uso preparati per Arch Linux e Ubuntu 19.04/18.04.

Attualmente per Linux esistono già strumenti per l'output diretto ai visori di realtà virtuale (estensioni Vulkan VK_EXT_acquire_xlib_display per X11 e VK_EXT_acquire_wl_display per Wayland), ma manca il supporto per il rendering corretto delle finestre nello spazio 3D e la sincronizzazione della frequenza di aggiornamento dello schermo. L'obiettivo del progetto xrdesktop è sviluppare metodi che consentano di utilizzare interfacce classiche progettate per l'output su schermo bidimensionale e il controllo tramite tastiera e mouse in ambienti virtuali.

Il progetto xrdesktop per utilizzare GNOME e KDE nei visori di realtà virtuale

I componenti di xrdesktop ampliano i gestori di finestre e compositori esistenti con funzionalità per l'uso di sistemi di realtà virtuale runtime per il rendering di finestre e desktop in ambienti virtuali tridimensionali. xrdesktop promuove l'idea di integrazione negli ambienti desktop esistenti senza la necessità di avviare un compositore dedicato, consentendo di utilizzare configurazioni utente già esistenti, usate con monitor tradizionali, insieme ai visori 3D.

L'architettura del progetto prevede la possibilità di integrazione con qualsiasi desktop, ma attualmente i componenti per il supporto dei visori di realtà virtuale sono stati implementati per KDE e GNOME. Per KDE, il supporto dei visori 3D è realizzato tramite un plugin simile a Compiz, mentre per GNOME attraverso un set di patch per GNOME Shell. I componenti menzionati rispecchiano le finestre esistenti nell'ambiente virtuale dei visori 3D sotto forma di scena separata o in modalità overlay, in cui le finestre del desktop possono sovrapporsi ad altre applicazioni di realtà virtuale in esecuzione.

Oltre ai meccanismi di rendering, xrdesktop fornisce componenti per la navigazione e l'input tramite controller spaziali specializzati, come Valve Index e VIVE Wand. Basandosi sulle informazioni dai controller VR, xrdesktop genera eventi di input standard, simulando l'uso di tastiera e mouse.

xrdesktop include diverse librerie che formano le texture delle finestre per il runtime VR utilizzando OpenVR, oltre a un sistema di rendering desktop completo in un ambiente 3D basato su API. Poiché xrdesktop non fornisce un proprio gestore delle finestre, è necessaria un'integrazione con gestori di finestre esistenti (xrdesktop può essere portato per qualsiasi gestore di finestre X11 o Wayland). Sul lato dei driver grafici, è necessario un driver che supporti l'API Vulkan e l'estensione VK_KHR_external_memory.

Il progetto xrdesktop per utilizzare GNOME e KDE nei visori di realtà virtuale

Le principali componenti di xrdesktop:

  • gulkan — un wrapper glib per Vulkan, che fornisce classi per gestire dispositivi, shader e per l'inizializzazione delle texture dalla memoria o dai buffer DMA;
  • gxr — API per l'astrazione delle interfacce di programmazione per lo sviluppo di applicazioni di realtà virtuale. Attualmente è supportato solo OpenVR, ma a breve sarà aggiunto anche il supporto per lo standard OpenXR;
  • libinputsynth — libreria per la sintesi di eventi di input, come il movimento del mouse, clic e pressioni di tasti, implementata sotto forma di backend per xdo, xi2 e Clutter;
  • xrdesktop — libreria per la gestione delle finestre in un ambiente 3D, un insieme di widget correlati e backend per il rendering della scena;
  • kwin-effect-xrdesktop e kdeplasma-applets-xrdesktop — plugin per KWin per integrazione con KDE e applet Plasma per passare KWin in modalità output su visore 3D;
  • gnome-shell patchset e gnome-shell-extension-xrdesktop — insieme di patch per GNOME Shell per integrare il supporto xrdesktop e un'estensione per commutare l'output su visore 3D in GNOME Shell.

Il progetto supporta diversi metodi per organizzare l'interazione con il desktop e le finestre in un ambiente virtuale, che possono essere utilizzati per catturare finestre, scalare, spostare, ruotare, sovrapporre a una sfera, fissare e nascondere finestre, utilizzare un menu di controllo e gestire contemporaneamente due mani utilizzando più controller.

Riproduci video

Riproduci video

Riproduci video

Riproduci video

Riproduci video

Riproduci video

Riproduci video

Riproduci video

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster