Repolode
patriciogonzalezvivo

patriciogonzalezvivo/lygia

Biblioteca granular de funciones para shaders en GLSL, HLSL, Metal, WGSL, WebGL y CUDA, con una función reutilizable en cada archivo.

Estrellas
3,480
Forks
226
Issues abiertos
26
Último commit
hace 13 días

¿Qué es?

LYGIA es una biblioteca de funciones reutilizables para shaders, que abarca matemáticas, color, transformaciones de espacio, ruido, campos de distancia con signo, dibujo, filtrado e iluminación. Cada archivo contiene una sola función, de modo que los desarrolladores pueden incluir solo lo que necesita cada shader mediante la directiva estándar #include.

La biblioteca está organizada por lenguaje, con archivos independientes para GLSL, HLSL, Metal, WGSL y CUDA, y las mismas funciones se mantienen en todos ellos. Algunas funciones se pueden ajustar en tiempo de compilación con opciones #define, por ejemplo, para cambiar un desenfoque gaussiano a un kernel 2D o modificar su función de muestreo.

LYGIA se puede usar localmente clonando el repositorio o como submódulo de git, instalar mediante npm o cargar en línea a través de un script de resolución alojado, para plataformas de navegador como CodePen. El repositorio también incluye un script prune.py para conservar solo los lenguajes que necesita un proyecto.

Funciones clave

  • 01Diseño granular, con una función por archivo en varios lenguajes de shading.
  • 02Resuelve dependencias de #include localmente o mediante un resolver en línea alojado.
  • 03Las funciones se pueden configurar con opciones #define antes de incluirlas.
  • 04Admite includes con versión para fijar una versión anterior de LYGIA.
  • 05Incluye un script prune.py para conservar solo los lenguajes que necesitas.
  • 06Incluye un paquete npm para proyectos JavaScript.

Casos de uso

  • Añadir utilidades de ruido, easing o color a un proyecto de WebGL o WebGPU sin tener que escribirlas desde cero.
  • Portar un shader de GLSL a HLSL, Metal o WGSL y reutilizar las mismas funciones auxiliares.
  • Crear arte generativo o sketches de creative coding con p5.js, Three.js o Unity.
  • Compartir código de shaders en CodePen o Observable en línea, con resolución automática de dependencias.

Inicio rápido

  1. 1

    Clona LYGIA en tu proyecto, junto al shader que lo incluye

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

    O descárgalo sin el historial de Git con degit

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

    En tu shader, usa #include para incluir las funciones que necesites, como "lygia/space/ratio.glsl"

Antes de usarlo

  • Es una biblioteca de funciones para shaders, no una aplicación independiente, así que debes integrarla en tu propio pipeline de shaders.
  • Tiene una licencia dual y no es una licencia de código abierto convencional; consulta sus términos antes de usarla con fines comerciales.

Temas

Preguntas frecuentes

¿Qué es lygia?
Biblioteca granular de funciones para shaders en GLSL, HLSL, Metal, WGSL, WebGL y CUDA, con una función reutilizable en cada archivo. LYGIA es una biblioteca de funciones reutilizables para shaders, que abarca matemáticas, color, transformaciones de espacio, ruido, campos de distancia con signo, dibujo, filtrado e iluminación. Cada archivo contiene una sola función, de modo que los desarrolladores pueden incluir solo lo que necesita cada shader mediante la directiva estándar #include.
¿lygia es gratuito? ¿Qué licencia tiene?
lygia es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿lygia sigue mantenido?
Mantenimiento activo. El último commit de lygia fue el 24 oct 2026.
¿Para qué puedo usar lygia?
Añadir utilidades de ruido, easing o color a un proyecto de WebGL o WebGPU sin tener que escribirlas desde cero. Portar un shader de GLSL a HLSL, Metal o WGSL y reutilizar las mismas funciones auxiliares. Crear arte generativo o sketches de creative coding con p5.js, Three.js o Unity. Compartir código de shaders en CodePen o Observable en línea, con resolución automática de dependencias.
¿Cómo se instala lygia?
Clona LYGIA en tu proyecto, junto al shader que lo incluye: git clone https://github.com/patriciogonzalezvivo/lygia.git O descárgalo sin el historial de Git con degit: npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia En tu shader, usa #include para incluir las funciones que necesites, como "lygia/space/ratio.glsl"
¿Dónde consigo lygia?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/patriciogonzalezvivo/lygia

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados