Расширение GNOME Shell «Liquid Glass» использует шейдеры, имитирующие реальное преломление света

Теперь вы можете преобразить рабочий стол Ubuntu в стиле Liquid Glass с помощью нового расширения Gnome Shell, разработанного при значительной поддержке искусственного интеллекта.

Его разработчик, Рёсуке Ватанабе, рассказал, что ему очень понравился внешний вид Liquid Glass — нового интерфейса от Apple, который придаёт элементам пользовательского интерфейса поверхности, преломляющие свет, с эффектом глубины и движения, — но, не имея устройства Apple, он хотел найти способ насладиться этим эффектом на своём рабочем столе под Linux.

Поэтому он создал расширение, позволяющее это сделать.

«Дизайн, математика шейдеров, архитектурные решения и все тестирование на реальном оборудовании — это моя работа»
— говорит Ватанабе, но добавляет, что значительная часть кода была написана с помощью ИИ-ассистентов по программированию

«Liquid Glass» от Apple — это больше, чем просто размытие: это динамичный, полупрозрачный материал интерфейса, который преломляет свет, отражает окружающую обстановку и позволяет элементам интерфейса адаптироваться к контенту и движению с помощью плавных анимаций, основанных на законах физики.

Это расширение воспроизводит эстетику и лежащую в её основе физику:

Liquid Glass x Ubuntu dock То есть: это не тот же подход, что и у расширений с эффектом матового стекла, которые применяют гауссово размытие и снижают прозрачность. Этот шейдер использует закон Снелла для расчета преломления света и воспроизведения того, как стекло преломляет свет в реальном мире.

…Но для приложений и обоев, отображаемых за ним.

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

Если всё это звучит немного словно математика — так и есть; у этого расширения есть падение производительности, о котором я расскажу ниже.

В настройках расширения вы можете выбрать, к каким частям рабочего стола применить стеклянный эффект. Его можно выборочно применять к элементам основного интерфейса GNOME Shell, таким как меню «Быстрые настройки», апплет сообщений/календаря, уведомления, экранные подсказки (OSD), а также «Dash to Dock» или «Ubuntu Dock».

Приложениям можно придать стеклянный вид, но это выглядит не особо элегантно.

Стиль стеклянного эффекта (шейдер) можно настроить для каждой части индивидуально: например, оттенок цвета и интенсивность, степень размытия, радиусы углов и т. д. могут иметь разные настройки для каждого элемента — если вы этого хотите.

К сожалению, пока нет возможности установить глобальный стиль.

Есть настройки автоматической расцветки текста, чтобы надписи на кнопках и в интерфейсе оставались разборчивыми как на светлых, так и на тёмных обоях, а интервал опроса можно настроить. Однако более частый опрос = большее использование процессора, так что имейте это в виду, если вы используете портативное устройство.

Что возвращает меня к вопросу о снижении производительности, связанном с включением этого расширения.

На мощном настольном компьютере вы ничего не заметите. Но на ноутбуке или более слабом устройстве эта «игрушка» будет работает заметно:

Примечание: насколько сильно нагрелось моё устройство под длительной нагрузкой. На скриншоте выше показано изменение загрузки графического процессора и центрального процессора на моём (по признанию, слабоватом, но отзывчивом) Chuwi AeroBook Pro при включенном расширении и после его отключения — разница довольно заметная. При его работе заряд батареи упал с 59% до 38%.

Неудивительно. Шейдер выполняет вычисления по каждому пикселю в каждом кадре для симуляции рефракции, поэтому всякий раз, когда на экране видно стекло и за ним что-то движется, он непрерывно производит вычисления.

Разработчик осознает ущерб для производительности и сложности, связанные с тем, чтобы заставить это вообще работать. На своём github он пишет: «Я уже перестал считать, сколько раз я вызывал сбой GNOME Shell во время разработки».

Недоступно на сайте GNOME Extensions

Нужно ли GNOME обновление с эффектом стекла? Если вы считаете, что да, можете попробовать это расширение. Оно, безусловно, демонстрирует гибкость GNOME Shell.

Вы не можете установить Liquid Glass с сайта GNOME Extensions (оно находится на рассмотрении, но на сайте действует политика в отношении ИИ), но можете установить его вручную, если у вас установлен git и вы используете GNOME 50:

git clone https://github.com/ryohsuke1231/liquid-glass.git &&
mkdir -p ~/.local/share/gnome-shell/extensions/ &&
cp -r liquid-glass/liquid-glass@thinkingcoding1231.gmail.com ~/.local/share/gnome-shell/extensions/

После выполнения этой команды вам нужно выйти из системы и снова войти, а затем включить расширение через приложение Extensions Manager (доступно в репозиториях Ubuntu).

Однако, поскольку это проект, написанный с использованием ИИ, и, мягко говоря, его производительность при работе оставляет желать лучшего, он вряд ли понравится всем.

Кроме того, это не единственный проект, направленный на то, чтобы придать GNOME внешний вид «жидкого стекла». Проект Blur My Shell готовит к выпуску похожую реализацию, предварительный просмотр которого доступен на GitHub.

Зарубин Иван Эксперт по Linux и Windows

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

Похожие статьи

Комментарии (0)

Автар по умолчанию