The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект xrdesktop для использования GNOME и KDE в шлемах вирт..."
Отправлено opennews, 31-Июл-19 19:20 
Разработчики из компании Collabora представили (https://www.collabora.com/news-and-blog/news-and-events/movi...) проект xrdesktop (https://gitlab.freedesktop.org/xrdesktop/xrdesktop), в рамках которого при поддержке компании Valve развивается библиотека с элементами для взаимодействия с традиционными рабочими столами внутри трёхмерных окружений, формируемых при использовании 3D-очков и шлемов виртуальной реальности.  Код библиотеки написан на языке Си и распространяется (https://gitlab.freedesktop.org/xrdesktop/xrdesktop) под лицензией MIT. Готовые сборки подготовлены (https://gitlab.freedesktop.org/xrdesktop/xrdesktop/wikis/howto) для Arch Linux (https://aur.archlinux.org/packages/xrdesktop-git) и Ubuntu 19.04/18.04 (https://launchpad.net/~xrdesktophttps://launchpad.net/~xrdes...).

В настоящее время для Linux уже имеются средства для прямого вывода на шлемы виртуальной реальности (Vulkan-расширения VK_EXT_acquire_xlib_display для X11 и VK_EXT_acquire_wl_display для Wayland), но отсутствуют поддержка на уровне корректной отрисовки окон в 3D-пространстве и синхронизации частоты обновления экрана. Целью проекта xrdesktop является разработка методов, которые позволят использовать  в виртуальных окружениях классические  интерфейсы, ориентированные на вывод на двухмерном экране и управление при помощи клавиатуры и мыши.

В xrdesktop продвигается идея интеграции в существующие десктоп-окружения без необходимости запуска отдельного специализированного композитного менеджера 3D-шлемов и позволяя использовать со шлемами уже имеющиеся пользовательские конфигурации, используемые с обычным монитором. Компоненты xrdesktop расширяют имеющиеся оконные и композитные менеджеры возможностями для использования runtime систем виртуальной реальности для отрисовки окон и  рабочего стола в трехмерных виртуальных окружениях.


Архитектура проекта подразумевает возможность интеграции с любыми рабочими столами, но на текущем этапе разработки компоненты для поддержки шлемов виртуальной реальности реализованы для KDE и GNOME. Для KDE поддержка 3D-шлемов реализован через Compiz-подобный плагин, а для GNOME через набор пачтей к  GNOME Shell. Указанные компоненты зеркалируют существующие окна в виртуальное окружение 3D-шлемов в форме отдельной сцены или в оверлейном режиме, при котором окна рабочего стола могут накладываться на другие запущенные приложения виртуальной реальности.

Кроме механизмов отрисовки в xrdesktop предоставляются компоненты для обеспечения навигации и ввода при помощи специализированных пространственных контроллеров, таких как  Valve Index и VIVE Wand. Xrdesktop на основе информации от VR-контроллеров генерирует обычные события ввода, симулируя использование клавиатуры и мыши.


В состав xrdesktop входит несколько библиотек, формирующих текстуры окон для  VR runtime при помощи OpenVR, а также основанная на API система рендеринга полноценного рабочего стола в 3D-окружении.  Так как xrdesktop не предоставляет собственного оконного менеджера, требуется проведение работы по интеграции с существующими оконными менеджерами (xrdesktop может быть портирован для любого оконного менеджера X11 или Wayland). На стороне графических драйверов для работы требуется драйвер с поддержкой API Vulkan и расширения  VK_KHR_external_memory extension.

Основные составные части xrdesktop:


-  gulkan (https://gitlab.freedesktop.org/xrdesktop/gulkan) -  glib-обвязка для Vulkan, предоставляющая классы для обработки устройств, шейдеров и инициализации текстур из памяти или DMA-буферов;

-  gxr (https://gitlab.freedesktop.org/xrdesktop/gxr) - API для абстрагирования программных интерфейсов для разработки приложений виртуальной реальности. В настоящее время поддерживается только OpenVR, но в ближайшее время будет добавлена и поддержка стандарта OpenXR;

-  libinputsynth (https://gitlab.freedesktop.org/xrdesktop/libinputsynth) - библиотека для синтеза событий ввода, таких как движение мыши, клики и нажатия клавиш, реализованная в форме бэкендов для xdo, xi2 и Clutter;

-  xrdesktop (https://gitlab.freedesktop.org/xrdesktop/xrdesktop) - библиотека для управления окнами в 3D-окружении, набор сопутствующих виджетов и бэкенды для отрисовки сцены;

-  kwin-effect-xrdesktop (https://gitlab.freedesktop.org/xrdesktop/kwin-effect-xrdesktop) и kdeplasma-applets-xrdesktop (https://gitlab.freedesktop.org/xrdesktop/kdeplasma-applets-x...) - плагин к  KWin для интеграции с KDE и Plasma-апплет для перевода KWin в режим вывода на 3D-шлем;

-  gnome-shell patchset (https://gitlab.freedesktop.org/xrdesktop/gnome-shell) и gnome-shell-extension-xrdesktop (https://gitlab.freedesktop.org/xrdesktop/gnome-shell-extensi...) - набор патчей к GNOME Shell для интеграции поддержки xrdesktop и дополнение для переключения вывода на 3D-шлем в GNOME Shell.

Проектом поддерживается несколько методов организации взаимодействия с рабочим столом и окнами в виртуальном окружении для захвата окон, масштабирования, перемещения, вращения, наложения на сферу, закрепления и скрытия окон, использования управляющего меню и одновременного управления двумя руками с использованием нескольких контроллеров.


URL: https://www.collabora.com/news-and-blog/news-and-events/movi...
Новость: https://www.opennet.ru/opennews/art.shtml?num=51199

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру