Кроссплатформенная библиотека рендеринга на C++, которая абстрагирует Direct3D, Metal, OpenGL, Vulkan и WebGL, чтобы вы могли использовать собственный движок.
patriciogonzalezvivo/lygia
Модульная библиотека шейдерных функций для GLSL, HLSL, Metal, WGSL, WebGL и CUDA: в каждом файле — одна функция для повторного использования.
- Звёзды
- 3,480
- Форки
- 226
- Открытые issues
- 26
- Последний коммит
- 13 дней назад
Что это?
LYGIA — библиотека шейдерных функций для математики, работы с цветом, преобразований пространства, шума, знаковых полей расстояний, рисования, фильтрации и освещения. В каждом файле находится одна функция, поэтому разработчики могут подключать только нужные шейдеру функции с помощью стандартной директивы #include.
Библиотека структурирована по языкам: для GLSL, HLSL, Metal, WGSL и CUDA предусмотрены отдельные файлы, а набор функций поддерживается одинаковым для всех языков. Некоторые функции можно настраивать во время компиляции с помощью параметров #define — например, переключить размытие по Гауссу на двумерное ядро или изменить функцию выборки.
LYGIA можно использовать локально, клонировав репозиторий или добавив его как git submodule, установить через npm либо подключать онлайн с помощью скрипта-резолвера для браузерных платформ, таких как CodePen. В репозитории также есть скрипт prune.py, который оставляет только нужные проекту языки.
Ключевые возможности
- 01Модульная структура: одна функция в файле для нескольких языков шейдеров.
- 02Разрешает зависимости #include локально или через размещённый в сети онлайн-резолвер.
- 03Функции можно настраивать с помощью параметров #define перед подключением.
- 04Поддерживает версионированные директивы include, чтобы закрепить зависимость за более ранним релизом LYGIA.
- 05Включает скрипт prune.py, который оставляет только нужные языки.
- 06Поставляется в виде npm-пакета для JavaScript-проектов.
Сценарии использования
- Добавление шума, функций плавности или утилит для работы с цветом в проект WebGL или WebGPU без необходимости писать их с нуля.
- Перенос шейдера с GLSL на HLSL, Metal или WGSL с повторным использованием тех же вспомогательных функций.
- Создание генеративного искусства или скетчей для creative coding в p5.js, Three.js или Unity.
- Публикация шейдерного кода в CodePen или Observable с автоматическим разрешением зависимостей.
Быстрый старт
- 1
Клонируйте LYGIA в свой проект рядом с шейдером, который его подключает
git clone https://github.com/patriciogonzalezvivo/lygia.git - 2
Или скачайте его без истории Git с помощью degit
npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia - 3
В шейдере подключите нужные функции с помощью #include, например "lygia/space/ratio.glsl"
Что важно знать
- Это библиотека функций для шейдеров, а не самостоятельное приложение, поэтому её нужно интегрировать в собственный конвейер шейдеров.
- Лицензия двойная и не является обычной лицензией с открытым исходным кодом, поэтому перед коммерческим использованием ознакомьтесь с её условиями.
Темы
Частые вопросы
- Что такое lygia?
- Модульная библиотека шейдерных функций для GLSL, HLSL, Metal, WGSL, WebGL и CUDA: в каждом файле — одна функция для повторного использования. LYGIA — библиотека шейдерных функций для математики, работы с цветом, преобразований пространства, шума, знаковых полей расстояний, рисования, фильтрации и освещения. В каждом файле находится одна функция, поэтому разработчики могут подключать только нужные шейдеру функции с помощью стандартной директивы #include.
- lygia можно использовать бесплатно? Какая у него лицензия?
- lygia распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lygia всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lygia — 24 окт. 2026 г..
- Для чего можно использовать lygia?
- Добавление шума, функций плавности или утилит для работы с цветом в проект WebGL или WebGPU без необходимости писать их с нуля. Перенос шейдера с GLSL на HLSL, Metal или WGSL с повторным использованием тех же вспомогательных функций. Создание генеративного искусства или скетчей для creative coding в p5.js, Three.js или Unity. Публикация шейдерного кода в CodePen или Observable с автоматическим разрешением зависимостей.
- Как установить lygia?
- Клонируйте LYGIA в свой проект рядом с шейдером, который его подключает: git clone https://github.com/patriciogonzalezvivo/lygia.git Или скачайте его без истории Git с помощью degit: npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia В шейдере подключите нужные функции с помощью #include, например "lygia/space/ratio.glsl"
- Где скачать lygia?
- Исходный код и инструкции по установке — на GitHub: https://github.com/patriciogonzalezvivo/lygia
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытая коллекция из более чем 100 написанных сообществом GLSL-переходов между двумя изображениями для веба, мобильных устройств, Apple, Android, Rust и видеоредакторов.
GPU.js преобразует простые функции JavaScript в шейдерный код, чтобы выполнять их на GPU в браузерах и Node.js, а при необходимости переключается на обычный JavaScript.
Библиотека из 35 эффектов для canvas, которые можно скопировать в проект: жидкость, стекло, огонь и другие эффекты поверх живого HTML.
JavaScript-библиотека для создания и отображения 3D-сцен в браузере с помощью WebGL и WebGPU.
Быстрая библиотека для 2D-рендеринга в вебе: рисует графику, спрайты и текст с помощью WebGL и WebGPU.