Repolode
regl-project

regl-project/regl

Функциональная обёртка над WebGL, которая устраняет общее состояние GPU и позволяет описывать вызовы отрисовки как команды, компилируемые в оптимизированный JavaScript.

Звёзды
5,590
Форки
328
Открытые issues
127
Последний коммит
21 день назад

Что это?

regl — это библиотека JavaScript, которая оборачивает WebGL API и предлагает две абстракции: ресурсы — ссылки на объекты GPU, например буферы, текстуры и фреймбуферы, — и команды, полностью описывающие состояние WebGL, необходимое для вызова отрисовки. При определении команды разработчики могут сочетать статические и динамические значения, а regl генерирует по этому описанию оптимизированный JavaScript, поэтому удаётся избежать большей части накладных расходов на каждый вызов, характерных для обычного WebGL.

Библиотека намеренно минималистична. В ней нет графа сцены, игрового движка или утилит для векторной математики; при этом доступны все возможности WebGL, в том числе расширения для нескольких render target и инстансинга. У библиотеки нет зависимостей, помимо npm-пакета поставляется отдельная сборка в виде скрипта, а также большой набор тестов с включёнными проверками в режиме разработки.

Ключевые возможности

  • 01Оборачивает WebGL, предлагая абстракции ресурсов и команд для сокращения общего состояния.
  • 02Компилирует описания команд в оптимизированный JavaScript с помощью частичного вычисления.
  • 03Автоматически разворачивает вложенные массивы в типизированные массивы для буферов.
  • 04Предоставляет regl.frame для работы с requestAnimationFrame и управления viewport.
  • 05Открывает доступ ко всем возможностям WebGL, включая расширения, например инстансинг.
  • 06Не имеет runtime-зависимостей и предлагает отдельную сборку в виде скрипта.

Сценарии использования

  • Создание в браузере собственных визуализаций данных с ускорением на GPU.
  • Разработка графики или симуляций на шейдерах, которым нужен прямой контроль над WebGL.
  • Создание долгоживущих веб-приложений, которым нужен стабильный низкоуровневый API для отрисовки.

Быстрый старт

  1. 1

    Установите regl из npm в свой проект

    npm i -S regl
  2. 2

    Подключите regl с помощью require и создайте экземпляр, затем рисуйте с помощью regl.frame

Что важно знать

  • При сборке с помощью browserify проверки ошибок в режиме разработки удаляются, если не использовать флаг --debug.

В подборках

Темы

Частые вопросы

Что такое regl?
Функциональная обёртка над WebGL, которая устраняет общее состояние GPU и позволяет описывать вызовы отрисовки как команды, компилируемые в оптимизированный JavaScript. regl — это библиотека JavaScript, которая оборачивает WebGL API и предлагает две абстракции: ресурсы — ссылки на объекты GPU, например буферы, текстуры и фреймбуферы, — и команды, полностью описывающие состояние WebGL, необходимое для вызова отрисовки. При определении команды разработчики могут сочетать статические и динамические значения, а regl генерирует по этому описанию оптимизированный JavaScript, поэтому удаётся избежать большей части накладных расходов на каждый вызов, характерных для обычного WebGL.
regl можно использовать бесплатно? Какая у него лицензия?
regl распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
regl всё ещё поддерживается?
Активно поддерживается. Последний коммит в regl — 17 окт. 2026 г..
Для чего можно использовать regl?
Создание в браузере собственных визуализаций данных с ускорением на GPU. Разработка графики или симуляций на шейдерах, которым нужен прямой контроль над WebGL. Создание долгоживущих веб-приложений, которым нужен стабильный низкоуровневый API для отрисовки.
Как установить regl?
Установите regl из npm в свой проект: npm i -S regl Подключите regl с помощью require и создайте экземпляр, затем рисуйте с помощью regl.frame
Где скачать regl?
Исходный код и инструкции по установке — на GitHub: https://github.com/regl-project/regl

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека постобработки для three.js, которая объединяет полноэкранные эффекты, такие как bloom, SSAO и цветокоррекция, для сцен WebGL.

3 тыс.+49 за неделю258JavaScriptZlibОбновлён 5 дней назад

Открытая коллекция из более чем 100 написанных сообществом GLSL-переходов между двумя изображениями для веба, мобильных устройств, Apple, Android, Rust и видеоредакторов.

2,2 тыс.+13 за неделю331GLSLOtherОбновлён 22 часа назад

Рендерер океана в реальном времени для three.js (WebGL2): FFT-волны, прибой у берега, пена, каустика, подводный режим и плавающие объекты.

634+349 за неделю94JavaScriptMITОбновлён 4 дня назад