Перейти к содержимому

Веб-графикаВиджеты

Светящаяся пирамида — 3D-виджет на WebGL

Объёмная пирамида, посчитанная шейдером, а не полигонами: 30 КБ без зависимостей и сборки, логотип вплавлен в материал граней, вставляется в любой сайт одной строкой.

Период
2026
3D-пирамида, светящаяся радужным градиентом — магента по верхним рёбрам, синий и зелёный к основанию, логотип GLUKE у вершины

Ключевые показатели проекта

вес виджета, 10 КБ в gzip
30 КБ
зависимостей и шагов сборки
0
объём считает шейдер, а не полигоны
SDF

Состав работ по проекту

Услуги

  • Raymarch-шейдер по SDF
  • Виджет для шапки сайта
  • Настройка палитры под бренд
  • Оптимизация под мобильные

О проекте

Шапке сайта нужен объект, который выглядит дорого и при этом ничего не весит. Обычный путь — модель плюс движок: three.js тянет за собой сотни килобайт, к ним добавляется сам файл модели, и всё это ради одной фигуры, которая просто красиво крутится.

3D-пирамида, светящаяся радужным градиентом — магента по верхним рёбрам, синий и зелёный к основанию, логотип GLUKE у вершины
Подробнее о проекте

Хотелось обойтись без модели вообще и получить виджет, который вставляется в любой сайт — Tilda, WordPress, статический HTML — двумя строками и без сборки.

Ход работы

  • пирамида описана математически: SDF-функция анизотропного октаэдра, пересечённого полупространством, — файла модели не существует в принципе;
  • объём и свечение набираются raymarch-циклом, сто шагов на пиксель, с накоплением цвета вдоль луча;
  • логотип не наклеен сверху текстурой, а подмешивается в материал внутри цикла марширования — поэтому он светится тем же светом, что и грань, и живёт под её поверхностью;
  • палитра выведена в параметры: фазы R/G/B — главный регулятор, от них зависит весь характер свечения;
  • собственное вращение дополнено обратной зависимостью от курсора с инерцией — пирамида уходит от мыши, а не следует за ней;
  • защита производительности: потолок devicePixelRatio и площади буфера, остановка рендера за пределами экрана, уважение системного «уменьшить движение».

Результат

Один файл на 30 КБ, 10 КБ после сжатия, без единой зависимости и без шага сборки. Живая пирамида в шапке этой страницы — это она и есть, а не видео.

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

Есть продукция, которую нужно визуализировать?

Средний бюджет проекта — от 30 000 ₽.

Небольшие отдельные задачи оцениваются индивидуально.