Домой Софт Расширение Liquid Glass для GNOME Shell имитирует эффект преломления света

Расширение Liquid Glass для GNOME Shell имитирует эффект преломления света

Разработчик представил расширение Liquid Glass для оболочки GNOME Shell, которое имитирует дизайн-эффект Apple, используя сложные шейдеры для визуализации преломления света.

6
0

Разработчик Рёсукэ Ватанабэ представил новое расширение для оболочки GNOME Shell под названием Liquid Glass. Инструмент позволяет применить к элементам интерфейса Ubuntu эффект «жидкого стекла», вдохновленный аналогичным дизайн-материалом от Apple. По словам создателя, дизайн, математические расчеты шейдеров и архитектурные решения были разработаны им самостоятельно, однако значительная часть кодовой базы была написана при активной поддержке ИИ-ассистентов.

Рабочий стол Ubuntu с эффектом Liquid Glass на элементах интерфейса GNOME Shell включая панель задач
Рабочий стол Ubuntu с эффектом Liquid Glass на элементах интерфейса GNOME Shell включая панель задач

Особенности технологии и математические расчеты

В отличие от стандартных расширений, реализующих эффект «матового стекла» через простое размытие по Гауссу и изменение прозрачности, Liquid Glass использует закон Снеллиуса для расчета преломления света. Это позволяет имитировать реальное поведение стекла, которое изгибает свет в зависимости от толщины материала. Поскольку стекло в реализации расширения толще в центре и сужается к краям, система пересчитывает значения для каждого пикселя, смещая фоновое изображение и добавляя блики для создания полноценного 3D-эффекта.

Настройка и возможности адаптации интерфейса

Пользователи могут выборочно применять визуальные эффекты к различным компонентам GNOME Shell, включая меню Quick Settings, уведомления, апплеты календаря и панель Ubuntu Dock. Настройки позволяют индивидуально конфигурировать каждый элемент: менять интенсивность размытия, цветовой оттенок и радиус скругления углов. Также предусмотрена функция автоматической корректировки цвета текста, обеспечивающая читаемость меток на светлом или темном фоне. Пока в расширении отсутствует возможность задания глобального стиля для всех компонентов сразу.

Влияние на производительность системы

Из-за того, что шейдеры выполняют попиксельные вычисления в каждом кадре при наличии движения за «стеклянными» элементами, расширение создает значительную нагрузку на ресурсы компьютера. Рёсукэ Ватанабэ признает, что в процессе разработки неоднократно сталкивался с критическими сбоями GNOME Shell. Тесты, проведенные на устройстве Chuwi AeroBook Pro, показали заметный скачок использования GPU и CPU при включении эффекта. Кроме того, использование расширения ведет к повышенному расходу заряда аккумулятора: в ходе эксперимента уровень заряда батареи снизился с 59% до 38%.

Как установить расширение вручную

На данный момент Liquid Glass недоступно на официальном сайте GNOME Extensions, так как оно ожидает проверки в рамках политики площадки относительно контента, созданного нейросетями. Тем не менее, владельцы систем на базе GNOME 50 могут установить расширение самостоятельно через терминал:

HTML5
  • Клонировать репозиторий: 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. Стоит отметить, что разработчики других проектов, таких как Blur My Shell, также работают над внедрением аналогичных технологий преломления света в свои решения.

Принципы работы «жидкого стекла» и физика эффекта

Важно понимать, что Liquid Glass — это не просто стилистическая надстройка над рабочим столом, а полноценная попытка имитировать физические свойства материала. В отличие от распространенных решений, которые ограничиваются наложением статического размытия (Gaussian blur), разработка Ватанабэ использует принципы оптики. Алгоритм опирается на закон Снеллиуса, вычисляя коэффициенты преломления света так, как это происходило бы в реальной физической среде.

расширение Liquid Glass для GNOME Shell — иллюстрация 2 к материалу
Параметры расширения позволяют настраивать визуальные эффекты и интенсивность шейдеров

Для создания полноценного 3D-эффекта расширение учитывает переменную толщину стекла: оно намеренно делается толще в центральной части и плавно «сходит на нет» по краям. Эти данные о толщине применяются для динамического смещения фонового изображения. Чтобы картинка выглядела реалистично, шейдер дополнительно накладывает контурное освещение (rim lighting) и специальные зеркальные блики («specular highlights»). В результате пользователь получает не статичную картинку, а адаптивный интерфейс, который реагирует на контент и движение, создавая иллюзию объема.

Особенности настройки и ограничения

Гибкость расширения позволяет пользователю самостоятельно решать, какие именно части интерфейса GNOME Shell должны получить «стеклянную» обработку. Помимо системных элементов, таких как меню быстрых настроек (Quick Settings), уведомления или панель Dash to Dock, этот эффект можно применить к окнам приложений. Однако стоит учитывать, что интеграция с прикладным ПО пока реализована не самым элегантным образом.

Каждый элемент можно настроить индивидуально, задавая для него собственные параметры: интенсивность размытия, цветовой оттенок и радиус скругления углов. Дополнительно предусмотрен параметр настройки интервала дискретизации (sampling interval). Здесь скрывается важный нюанс: более частый опрос системы обеспечивает более плавное и точное преломление, но прямо пропорционально увеличивает нагрузку на центральный процессор, что критично для мобильных устройств.

расширение Liquid Glass для GNOME Shell — иллюстрация 3 к материалу
Графики нагрузки на GPU и CPU при работе расширения показывают значительное потребление ресурсов

Почему возникли сложности с официальным распространением?

Причина отсутствия расширения на официальном портале GNOME Extensions кроется не только в статусе «на рассмотрении». Политика площадки в отношении контента, написанного с помощью ИИ, подразумевает строгую проверку. Администраторы проекта не хотят брать на себя ответственность за модерацию кода, который создавался нейросетями без должной проверки со стороны разработчика на наличие очевидных технических ошибок или нарушение руководящих принципов разработки. Опасения площадки понятны: ИИ часто генерирует так называемый «slop» (низкокачественный или избыточный программный мусор), требующий тщательного аудита, который волонтеры проекта не всегда готовы проводить.

Перспективы и конкуренция

Несмотря на высокую нагрузку на «железо», проект Рёсукэ Ватанабэ наглядно демонстрирует невероятную гибкость архитектуры GNOME Shell. Тем не менее, Liquid Glass — не единственная попытка принести эффект жидкого стекла в среду Linux. Например, команда популярного расширения Blur My Shell также ведет активную разработку собственного «рефракционного конвейера» (refracting glass pipeline). Ознакомиться с прогрессом их работы и увидеть, как может выглядеть альтернативная реализация преломления, можно уже сейчас через репозиторий проекта на GitHub.

Источник: https://www.omgubuntu.co.uk