Dự án xrdesktop để sử dụng Gnome và KDE trong tai nghe thực tế ảo

Nhà phát triển từ Collabora trình bày dự án xrddesktop, trong đó, với sự hỗ trợ của Valve, một thư viện đang được phát triển với các yếu tố để tương tác với máy tính để bàn truyền thống bên trong môi trường ba chiều được tạo bằng kính 3D và mũ bảo hiểm thực tế ảo. Mã thư viện được viết bằng C và phân phối bởi theo giấy phép MIT. Các tổ hợp làm sẵn chuẩn bị cho Arch Linux и Ubuntu 19.04 / 18.04.

Hiện tại, Linux đã có các công cụ xuất trực tiếp tới tai nghe thực tế ảo (tiện ích mở rộng Vulkan VK_EXT_acquire_xlib_display cho X11 và VK_EXT_acquire_wl_display cho Wayland), nhưng không có hỗ trợ ở mức độ hiển thị chính xác các cửa sổ trong không gian 3D và đồng bộ hóa tốc độ làm mới màn hình. Mục tiêu của dự án xrdesktop là phát triển các phương pháp cho phép sử dụng các giao diện cổ điển tập trung vào hiển thị màn hình XNUMXD và điều khiển bàn phím và chuột trong môi trường ảo.

Dự án xrdesktop để sử dụng Gnome và KDE trong tai nghe thực tế ảo

Các thành phần xrdesktop mở rộng trình quản lý tổng hợp và cửa sổ hiện có để sử dụng hệ thống thời gian chạy thực tế ảo nhằm hiển thị cửa sổ và máy tính để bàn trong môi trường ảo 3D. xrdesktop thúc đẩy ý tưởng tích hợp vào môi trường máy tính để bàn hiện có mà không cần chạy trình quản lý tổng hợp chuyên dụng riêng biệt và cho phép sử dụng các cấu hình tùy chỉnh hiện có được sử dụng với màn hình thông thường với mũ bảo hiểm XNUMXD.

Kiến trúc của dự án ngụ ý khả năng tích hợp với bất kỳ máy tính để bàn nào, nhưng ở giai đoạn phát triển hiện tại, các thành phần hỗ trợ tai nghe thực tế ảo được triển khai cho KDE và GNOME. Đối với KDE, hỗ trợ cho mũ bảo hiểm 3D được triển khai thông qua một plugin giống Compiz và cho GNOME thông qua một bộ bản vá cho GNOME Shell. Các thành phần này phản chiếu các cửa sổ hiện có vào môi trường ảo của mũ bảo hiểm 3D dưới dạng một cảnh riêng biệt hoặc ở chế độ lớp phủ, trong đó các cửa sổ máy tính để bàn có thể được đặt chồng lên các ứng dụng thực tế ảo đang chạy khác.

Ngoài các công cụ kết xuất, xrdesktop còn cung cấp các thành phần để cung cấp khả năng điều hướng và đầu vào bằng các bộ điều khiển không gian chuyên dụng như Valve Index và VIVE Wand. Xrdesktop sử dụng thông tin từ bộ điều khiển VR để tạo các sự kiện đầu vào thông thường, mô phỏng việc sử dụng bàn phím và chuột.

xrdesktop bao gồm một số thư viện tạo kết cấu cửa sổ cho thời gian chạy VR bằng OpenVR, cũng như hệ thống dựa trên API để hiển thị toàn bộ màn hình trong môi trường 3D. Vì xrdesktop không cung cấp trình quản lý cửa sổ riêng nên cần phải tích hợp với các trình quản lý cửa sổ hiện có (xrdesktop có thể được chuyển sang bất kỳ trình quản lý cửa sổ X11 hoặc Wayland nào). Về phía trình điều khiển đồ họa, hoạt động cần có trình điều khiển hỗ trợ API Vulkan và tiện ích mở rộng VK_KHR_external_memory.

Dự án xrdesktop để sử dụng Gnome và KDE trong tai nghe thực tế ảo

Các thành phần chính của xrdesktop:

  • gulkan - liên kết glib cho Vulkan, cung cấp các lớp cho thiết bị xử lý, trình đổ bóng và khởi tạo kết cấu từ bộ nhớ hoặc bộ đệm DMA;
  • gxr — API trừu tượng hóa giao diện chương trình để phát triển các ứng dụng thực tế ảo. Hiện tại chỉ hỗ trợ OpenVR nhưng hỗ trợ cho tiêu chuẩn OpenXR sẽ được bổ sung trong thời gian tới;
  • libinputsynth — một thư viện để tổng hợp các sự kiện đầu vào, chẳng hạn như di chuyển chuột, nhấp chuột và nhấn phím, được triển khai dưới dạng phụ trợ cho xdo, xi2 và Clutter;
  • xrddesktop — một thư viện để quản lý các cửa sổ trong môi trường 3D, một bộ tiện ích đi kèm và phần phụ trợ để hiển thị cảnh;
  • kwin-hiệu ứng-xrdesktop и kdeplasma-applets-xrdesktop — một plugin dành cho KWin để tích hợp với KDE và một ứng dụng Plasma để chuyển KWin sang chế độ đầu ra trên mũ bảo hiểm 3D;
  • bộ vá gnome-shell и gnome-shell-extension-xrdesktop — một bộ bản vá dành cho Gnome Shell để tích hợp hỗ trợ xrdesktop và một tiện ích bổ sung để chuyển đầu ra sang mũ bảo hiểm 3D trong Gnome Shell.

Dự án hỗ trợ một số phương pháp tổ chức tương tác với máy tính để bàn và cửa sổ trong môi trường ảo, có thể được sử dụng để chụp cửa sổ, chia tỷ lệ, di chuyển, xoay, phủ trên hình cầu, gắn và ẩn cửa sổ, sử dụng menu điều khiển và điều khiển đồng thời với hai tay sử dụng nhiều bộ điều khiển.

Nguồn: opennet.ru

Thêm một lời nhận xét