La projekto xrdesktop por uzi GNOME kaj KDE en virtualrealaj aŭdiloj

Programistoj de Collabora prezentita la projekto xrdesktop, en kiu, kun la subteno de Valve, biblioteko estas evoluigita kun elementoj por interagado kun tradiciaj skribotabloj ene de tridimensiaj medioj kreitaj per 3D okulvitroj kaj virtualrealecaj kaskoj. La bibliotekkodo estas skribita en C kaj distribuita de sub MIT-licenco. Pretaj asembleoj preparita por Arch Linukso и Ubuntu 19.04 / 18.04.

Nuntempe, Linukso jam havas ilojn por rekta eligo al virtualrealaj aŭdiloj (Vulkan-etendaĵoj VK_EXT_acquire_xlib_display por X11 kaj VK_EXT_acquire_wl_display por Wayland), sed ne ekzistas subteno je la nivelo de ĝusta bildigo de fenestroj en 3D-spaco kaj sinkronigado de la ekrana refreŝiĝo. La celo de la projekto xrdesktop estas evoluigi metodojn, kiuj permesos la uzon de klasikaj interfacoj koncentritaj al XNUMXD ekrano kaj klavaro kaj muso kontrolo en virtualaj medioj.

La projekto xrdesktop por uzi GNOME kaj KDE en virtualrealaj aŭdiloj

xrdesktop-komponentoj etendas ekzistantajn fenestrojn kaj kunmetitajn administrantojn por uzi virtualrealecajn rultempajn sistemojn por bildigi fenestrojn kaj labortablojn en 3D virtualaj medioj. xrdesktop antaŭenigas la ideon integriĝi en ekzistantajn labortablaj medioj sen neceso funkciigi apartan specialecan kunmetitan administranton kaj permesi ekzistantajn kutimajn agordojn uzatajn kun regula monitoro esti uzataj kun XNUMXD-kaskoj.

La arkitekturo de la projekto implicas la kapablon integri kun iu ajn labortablo, sed en la nuna stadio de evoluo, komponantoj por subteni virtualrealecajn aŭdilojn estas efektivigitaj por KDE kaj GNOME. Por KDE, subteno por 3D kaskoj estas efektivigita per Compiz-simila kromaĵo, kaj por GNOME per aro de flikoj por GNOME Ŝelo. Tiuj komponentoj spegulas ekzistantajn fenestrojn en la virtualan medion de 3D kaskoj en la formo de aparta sceno aŭ en tegmentreĝimo, en kiu labortablaj fenestroj povas esti supermetitaj al aliaj kurantaj virtualrealecaj aplikoj.

Krom bildigi motorojn, xrdesktop disponigas komponentojn por disponigi navigacion kaj enigaĵon uzante specialigitajn spacajn regilojn kiel ekzemple la Valva Indekso kaj VIVE Wand. Xrdesktop uzas informojn de VR-regiloj por generi regulajn enigajn eventojn, simulante la uzon de klavaro kaj muso.

xrdesktop inkluzivas plurajn bibliotekojn, kiuj generas fenestroteksturojn por la VR-rultempo uzante OpenVR, kaj ankaŭ API-bazitan sistemon por bildi plenan labortablon en 3D-medio. Ĉar xrdesktop ne disponigas sian propran fenestromanaĝeron, integriĝlaboro kun ekzistantaj fenestradministriloj estas postulata (xrdesktop povas esti adaptita al iu ajn X11 aŭ Wayland fenestradministrilo). Sur la grafika ŝoforo, operacio postulas ŝoforon kiu subtenas la Vulkan API kaj la VK_KHR_external_memory etendo.

La projekto xrdesktop por uzi GNOME kaj KDE en virtualrealaj aŭdiloj

La ĉefaj komponantoj de xrdesktop:

  • gulkano - glib-ligado por Vulkan, provizante klasojn por prilaborado de aparatoj, ombriloj kaj pravalorigo de teksturoj de memoro aŭ DMA-bufroj;
  • gxr — API por abstraktado de programinterfacoj por evoluigado de virtualrealaj aplikaĵoj. Nuntempe nur OpenVR estas subtenata, sed subteno por la normo OpenXR estos aldonita baldaŭ;
  • libinputsynth — biblioteko por sintezi enigajn eventojn, kiel musan movon, klakojn kaj klavojn, efektivigitajn en formo de backends por xdo, xi2 kaj Clutter;
  • xrdesktop — biblioteko por administri fenestrojn en 3D medio, aro da akompanaj fenestraĵoj kaj backends por bildigi la scenon;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — kromaĵo por KWin por integriĝo kun KDE kaj Plasma apleto por ŝanĝi KWin al eliga reĝimo sur 3D-kasko;
  • gnomo-ŝelo flikaĵo и gnome-shell-extension-xrdesktop — aro da flikoj por GNOME Shell por integri xrdesktop-subtenon kaj aldonaĵon por ŝanĝi eliron al 3D-kasko en GNOME Shell.

La projekto subtenas plurajn metodojn por organizi interagadon kun la labortablo kaj fenestroj en virtuala medio, kiuj povas esti uzataj por kapti fenestrojn, skali, movi, turni, supermeti sur sfero, aldokigi kaj kaŝi fenestrojn, uzi la kontrolmenuon kaj samtempe kontroli per. du manoj uzante plurajn regilojn.

fonto: opennet.ru

Aldoni komenton