Το έργο xrdesktop για τη χρήση του GNOME και του KDE σε ακουστικά εικονικής πραγματικότητας

Προγραμματιστές από την Collabora παρουσιάζονται σχέδιο xrdesktop, στην οποία, με την υποστήριξη της Valve, αναπτύσσεται μια βιβλιοθήκη με στοιχεία για αλληλεπίδραση με παραδοσιακούς επιτραπέζιους υπολογιστές μέσα σε τρισδιάστατα περιβάλλοντα που δημιουργήθηκαν με χρήση γυαλιών 3D και κράνη εικονικής πραγματικότητας. Ο κώδικας της βιβλιοθήκης είναι γραμμένος σε C και διανέμονται από με άδεια MIT. Έτοιμα συγκροτήματα έτοιμος για Arch Linux и Ubuntu 19.04 / 18.04.

Επί του παρόντος, το Linux διαθέτει ήδη εργαλεία για άμεση έξοδο σε ακουστικά εικονικής πραγματικότητας (επεκτάσεις Vulkan VK_EXT_acquire_xlib_display για X11 και VK_EXT_acquire_wl_display για Wayland), αλλά δεν υπάρχει υποστήριξη σε επίπεδο σωστής απόδοσης των παραθύρων σε χώρο 3D και συγχρονισμού του ρυθμού ανανέωσης οθόνης. Ο στόχος του έργου xrdesktop είναι να αναπτύξει μεθόδους που θα επιτρέψουν τη χρήση κλασικών διεπαφών εστιασμένων στην οθόνη XNUMXD οθόνης και στον έλεγχο πληκτρολογίου και ποντικιού σε εικονικά περιβάλλοντα.

Το έργο xrdesktop για τη χρήση του GNOME και του KDE σε ακουστικά εικονικής πραγματικότητας

Τα στοιχεία xrdesktop επεκτείνουν τους υπάρχοντες διαχειριστές παραθύρων και σύνθετων στοιχείων ώστε να χρησιμοποιούν συστήματα χρόνου εκτέλεσης εικονικής πραγματικότητας για απόδοση παραθύρων και επιτραπέζιων υπολογιστών σε τρισδιάστατα εικονικά περιβάλλοντα. Το xrdesktop προωθεί την ιδέα της ενσωμάτωσης σε υπάρχοντα περιβάλλοντα επιφάνειας εργασίας χωρίς την ανάγκη εκτέλεσης ενός ξεχωριστού εξειδικευμένου σύνθετου διαχειριστή και επιτρέποντας τις υπάρχουσες προσαρμοσμένες διαμορφώσεις που χρησιμοποιούνται με μια κανονική οθόνη να χρησιμοποιούνται με κράνη 3D.

Η αρχιτεκτονική του έργου συνεπάγεται τη δυνατότητα ενσωμάτωσης με οποιαδήποτε επιφάνεια εργασίας, αλλά στο τρέχον στάδιο ανάπτυξης, τα στοιχεία για την υποστήριξη ακουστικών εικονικής πραγματικότητας υλοποιούνται για το KDE και το GNOME. Για το KDE, η υποστήριξη για τρισδιάστατα κράνη υλοποιείται μέσω μιας προσθήκης τύπου Compiz και για το GNOME μέσω ενός συνόλου ενημερώσεων κώδικα για το GNOME Shell. Αυτά τα στοιχεία αντικατοπτρίζουν τα υπάρχοντα παράθυρα στο εικονικό περιβάλλον των τρισδιάστατων κρανών με τη μορφή ξεχωριστής σκηνής ή σε λειτουργία επικάλυψης, στην οποία τα παράθυρα επιφάνειας εργασίας μπορούν να τοποθετηθούν σε άλλες εφαρμογές εικονικής πραγματικότητας που εκτελούνται.

Εκτός από τις μηχανές απόδοσης, το xrdesktop παρέχει εξαρτήματα για την παροχή πλοήγησης και εισαγωγής χρησιμοποιώντας εξειδικευμένους χωρικούς ελεγκτές όπως το Valve Index και το VIVE Wand. Το Xrdesktop χρησιμοποιεί πληροφορίες από ελεγκτές VR για τη δημιουργία κανονικών συμβάντων εισόδου, προσομοιώνοντας τη χρήση πληκτρολογίου και ποντικιού.

Το xrdesktop περιλαμβάνει πολλές βιβλιοθήκες που δημιουργούν υφές παραθύρων για το χρόνο εκτέλεσης εικονικής πραγματικότητας χρησιμοποιώντας το OpenVR, καθώς και ένα σύστημα που βασίζεται σε API για την απόδοση μιας πλήρους επιφάνειας εργασίας σε περιβάλλον 3D. Εφόσον το xrdesktop δεν παρέχει το δικό του διαχειριστή παραθύρων, απαιτείται εργασία ενοποίησης με υπάρχοντες διαχειριστές παραθύρων (το xrdesktop μπορεί να μεταφερθεί σε οποιοδήποτε διαχειριστή παραθύρων X11 ή Wayland). Από την πλευρά του προγράμματος οδήγησης γραφικών, η λειτουργία απαιτεί ένα πρόγραμμα οδήγησης που υποστηρίζει το Vulkan API και την επέκταση VK_KHR_external_memory.

Το έργο xrdesktop για τη χρήση του GNOME και του KDE σε ακουστικά εικονικής πραγματικότητας

Τα κύρια στοιχεία του xrdesktop:

  • gulkan - Binding glib για Vulkan, παρέχοντας κλάσεις για συσκευές επεξεργασίας, shaders και αρχικοποίηση textures από μνήμη ή DMA buffer.
  • gxr — API για την αφαίρεση διεπαφών προγραμμάτων για την ανάπτυξη εφαρμογών εικονικής πραγματικότητας. Προς το παρόν υποστηρίζεται μόνο το OpenVR, αλλά η υποστήριξη για το πρότυπο OpenXR θα προστεθεί στο εγγύς μέλλον.
  • libinputsynth — μια βιβλιοθήκη για τη σύνθεση γεγονότων εισόδου, όπως κίνηση του ποντικιού, κλικ και πατήματα πλήκτρων, που υλοποιείται με τη μορφή backend για xdo, xi2 και Clutter.
  • xrdesktop — μια βιβλιοθήκη για τη διαχείριση των παραθύρων σε περιβάλλον 3D, ένα σύνολο συνοδευτικών widget και backend για την απόδοση της σκηνής.
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — ένα πρόσθετο για το KWin για ενσωμάτωση με το KDE και μια μικροεφαρμογή Plasma για εναλλαγή του KWin σε λειτουργία εξόδου σε ένα τρισδιάστατο κράνος.
  • gnome-shell patchset и gnome-shell-extension-xrdesktop — ένα σύνολο επιδιορθώσεων για το GNOME Shell για ενσωμάτωση υποστήριξης xrdesktop και ένα πρόσθετο για εναλλαγή εξόδου σε τρισδιάστατο κράνος στο GNOME Shell.

Το έργο υποστηρίζει διάφορες μεθόδους για την οργάνωση της αλληλεπίδρασης με την επιφάνεια εργασίας και τα παράθυρα σε ένα εικονικό περιβάλλον, που μπορούν να χρησιμοποιηθούν για τη λήψη παραθύρων, την κλίμακα, τη μετακίνηση, την περιστροφή, την επικάλυψη σε μια σφαίρα, τη σύνδεση και την απόκρυψη παραθύρων, τη χρήση του μενού ελέγχου και τον ταυτόχρονο έλεγχο με δύο χέρια χρησιμοποιώντας πολλαπλούς ελεγκτές.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο