Projek xrdesktop untuk menggunakan GNOME dan KDE dalam set kepala realiti maya

Pembangun dari Collabora dibentangkan projek xrdesktop, di mana, dengan sokongan Valve, perpustakaan sedang dibangunkan dengan elemen untuk berinteraksi dengan desktop tradisional dalam persekitaran tiga dimensi yang dicipta menggunakan cermin mata 3D dan topi keledar realiti maya. Kod perpustakaan ditulis dalam C dan diedarkan oleh di bawah lesen MIT. Perhimpunan siap sedia disediakan untuk Arch Linux ΠΈ Ubuntu 19.04 / 18.04.

Pada masa ini, Linux sudah mempunyai alatan untuk output terus kepada set kepala realiti maya (sambungan Vulkan VK_EXT_acquire_xlib_display untuk X11 dan VK_EXT_acquire_wl_display untuk Wayland), tetapi tiada sokongan pada tahap pemaparan yang betul bagi tetingkap dalam ruang 3D dan penyegerakan kadar penyegaran skrin. Matlamat projek xrdesktop adalah untuk membangunkan kaedah yang akan membolehkan penggunaan antara muka klasik tertumpu pada paparan skrin XNUMXD dan kawalan papan kekunci dan tetikus dalam persekitaran maya.

Projek xrdesktop untuk menggunakan GNOME dan KDE dalam set kepala realiti maya

Komponen xrdesktop memanjangkan pengurus tetingkap dan komposit sedia ada untuk menggunakan sistem masa jalan realiti maya untuk menjadikan tetingkap dan desktop dalam persekitaran maya 3D. xrdesktop menggalakkan idea untuk menyepadukan ke dalam persekitaran desktop sedia ada tanpa perlu menjalankan pengurus komposit khusus yang berasingan dan membenarkan konfigurasi tersuai sedia ada yang digunakan dengan monitor biasa untuk digunakan dengan topi keledar XNUMXD.

Seni bina projek membayangkan keupayaan untuk berintegrasi dengan mana-mana desktop, tetapi pada peringkat pembangunan semasa, komponen untuk menyokong set kepala realiti maya dilaksanakan untuk KDE dan GNOME. Untuk KDE, sokongan untuk topi keledar 3D dilaksanakan melalui pemalam seperti Compiz, dan untuk GNOME melalui satu set patch untuk GNOME Shell. Komponen ini mencerminkan tetingkap sedia ada ke dalam persekitaran maya topi keledar 3D dalam bentuk pemandangan berasingan atau dalam mod tindanan, di mana tetingkap desktop boleh ditindih pada aplikasi realiti maya lain yang sedang berjalan.

Sebagai tambahan kepada enjin rendering, xrdesktop menyediakan komponen untuk menyediakan navigasi dan input menggunakan pengawal spatial khusus seperti Indeks Injap dan Tongkat VIVE. Xrdesktop menggunakan maklumat daripada pengawal VR untuk menjana acara input biasa, mensimulasikan penggunaan papan kekunci dan tetikus.

xrdesktop termasuk beberapa perpustakaan yang menjana tekstur tetingkap untuk masa jalan VR menggunakan OpenVR, serta sistem berasaskan API untuk memaparkan desktop penuh dalam persekitaran 3D. Memandangkan xrdesktop tidak menyediakan pengurus tetingkapnya sendiri, kerja penyepaduan dengan pengurus tetingkap sedia ada diperlukan (xrdesktop boleh dialihkan ke mana-mana pengurus tetingkap X11 atau Wayland). Pada bahagian pemacu grafik, operasi memerlukan pemacu yang menyokong API Vulkan dan sambungan VK_KHR_external_memory.

Projek xrdesktop untuk menggunakan GNOME dan KDE dalam set kepala realiti maya

Komponen utama xrdesktop:

  • gulkan - glib binding untuk Vulkan, menyediakan kelas untuk memproses peranti, shader dan memulakan tekstur daripada memori atau penimbal DMA;
  • gxr β€” API untuk mengabstraksi antara muka program untuk membangunkan aplikasi realiti maya. Pada masa ini hanya OpenVR disokong, tetapi sokongan untuk standard OpenXR akan ditambah dalam masa terdekat;
  • libinputsynth β€” perpustakaan untuk mensintesis peristiwa input, seperti pergerakan tetikus, klik dan ketukan kekunci, dilaksanakan dalam bentuk hujung belakang untuk xdo, xi2 dan Clutter;
  • xrdesktop β€” perpustakaan untuk menguruskan tetingkap dalam persekitaran 3D, satu set widget yang disertakan dan hujung belakang untuk memaparkan pemandangan;
  • kwin-effect-xrdesktop ΠΈ kdeplasma-applets-xrdesktop β€” pemalam untuk KWin untuk penyepaduan dengan KDE dan applet Plasma untuk menukar KWin kepada mod output pada topi keledar 3D;
  • gnome-shell patchset ΠΈ gnome-shell-extension-xrdesktop β€” satu set tampalan untuk Shell GNOME untuk menyepadukan sokongan xrdesktop dan alat tambah untuk menukar output kepada topi keledar 3D dalam Shell GNOME.

Projek ini menyokong beberapa kaedah untuk mengatur interaksi dengan desktop dan tingkap dalam persekitaran maya, yang boleh digunakan untuk menangkap tetingkap, skala, menggerakkan, memutar, tindanan pada sfera, dok dan sembunyikan tingkap, menggunakan menu kawalan dan pada masa yang sama mengawal dengan dua tangan menggunakan pelbagai pengawal.

Sumber: opennet.ru

Tambah komen