Repolode
patriciogonzalezvivo

patriciogonzalezvivo/lygia

Uma biblioteca granular de funções de shader para GLSL, HLSL, Metal, WGSL, WebGL e CUDA, com uma função reutilizável em cada arquivo.

Estrelas
3,480
Forks
226
Issues abertas
26
Último commit
há 13 dias

O que é?

LYGIA é uma biblioteca de funções reutilizáveis para shaders, que inclui matemática, cores, transformações de espaço, ruído, campos de distância com sinal, desenho, filtragem e iluminação. Cada arquivo contém uma única função, permitindo que desenvolvedores incluam apenas o que o shader precisa usando a diretiva padrão #include.

A biblioteca é organizada por linguagem, com arquivos separados para GLSL, HLSL, Metal, WGSL e CUDA, e as mesmas funções são mantidas em todas elas. Algumas funções podem ser ajustadas em tempo de compilação com opções #define, como mudar um desfoque gaussiano para um kernel 2D ou alterar sua função de amostragem.

LYGIA pode ser usada localmente clonando o repositório ou como um submódulo git, instalada pelo npm ou acessada online por meio de um script resolvedor hospedado, para plataformas baseadas em navegador, como o CodePen. O repositório também inclui um script prune.py para manter apenas as linguagens necessárias ao projeto.

Recursos principais

  • 01Design granular, com uma função por arquivo em várias linguagens de shader.
  • 02Resolve dependências de #include localmente ou por meio de um resolvedor online hospedado.
  • 03As funções podem ser configuradas com opções #define antes da inclusão.
  • 04Oferece suporte a includes com versão para fixar versões anteriores do LYGIA.
  • 05Inclui um script prune.py para manter apenas as linguagens necessárias.
  • 06Disponibiliza um pacote npm para projetos JavaScript.

Casos de uso

  • Adicionar utilitários de ruído, easing ou cores a um projeto WebGL ou WebGPU sem precisar implementá-los do zero.
  • Portar um shader de GLSL para HLSL, Metal ou WGSL reutilizando as mesmas funções auxiliares.
  • Criar arte generativa ou projetos de creative coding com p5.js, Three.js ou Unity.
  • Compartilhar código de shader online no CodePen ou Observable com resolução automática das dependências.

Início rápido

  1. 1

    Clone o LYGIA no seu projeto, ao lado do shader que o inclui

    git clone https://github.com/patriciogonzalezvivo/lygia.git
  2. 2

    Ou baixe-o sem o histórico do Git usando o degit

    npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia
  3. 3

    No seu shader, use #include para incluir as funções de que precisa, como "lygia/space/ratio.glsl"

Antes de usar

  • É uma biblioteca de funções para shaders, não um aplicativo independente; portanto, você precisa integrá-la ao seu próprio pipeline de shaders.
  • A licença é dupla e não é uma licença de código aberto convencional; confira os termos antes de usar comercialmente.

Tópicos

Perguntas frequentes

O que é lygia?
Uma biblioteca granular de funções de shader para GLSL, HLSL, Metal, WGSL, WebGL e CUDA, com uma função reutilizável em cada arquivo. LYGIA é uma biblioteca de funções reutilizáveis para shaders, que inclui matemática, cores, transformações de espaço, ruído, campos de distância com sinal, desenho, filtragem e iluminação. Cada arquivo contém uma única função, permitindo que desenvolvedores incluam apenas o que o shader precisa usando a diretiva padrão #include.
lygia é gratuito? Qual é a licença?
lygia é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
lygia ainda é mantido?
Manutenção ativa. O último commit de lygia foi em 24 de out. de 2026.
Para que posso usar lygia?
Adicionar utilitários de ruído, easing ou cores a um projeto WebGL ou WebGPU sem precisar implementá-los do zero. Portar um shader de GLSL para HLSL, Metal ou WGSL reutilizando as mesmas funções auxiliares. Criar arte generativa ou projetos de creative coding com p5.js, Three.js ou Unity. Compartilhar código de shader online no CodePen ou Observable com resolução automática das dependências.
Como instalar lygia?
Clone o LYGIA no seu projeto, ao lado do shader que o inclui: git clone https://github.com/patriciogonzalezvivo/lygia.git Ou baixe-o sem o histórico do Git usando o degit: npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia No seu shader, use #include para incluir as funções de que precisa, como "lygia/space/ratio.glsl"
Onde consigo lygia?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/patriciogonzalezvivo/lygia

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados