LYGIA is a shader library of reusable functions that can be included easily into your projects. LYGIA is very granular and designed for reusability, performance, and flexibility.

For more information please go to lygia.xyz

How is it organized?

  • math/: general math functions and constants: PI, SqrtLength(), etc.
  • space/: general spatial operations: scale(), rotate(), etc.
  • color/: general color operations: luma(), saturation(), blend modes, palettes, color space conversion, and tonemaps.
  • animation/: animation operations: easing
  • generative/: generative functions: random(), noise(), etc.
  • sdf/: signed distance field functions.
  • draw/: drawing functions like digits(), stroke(), fill, etc/.
  • sample/: sample operations
  • filter/: typical filter operations: different kind of blurs, mean and median filters.
  • distort/: distort sampling operations
  • simulate/: simulate sampling operations
  • lighting/: different lighting models and functions for foward/deferred/raymarching rendering
  • geometry/: operation related to geometries: intersections and AABB accelerating structures.
  • morphological/: morphological filters: dilation, erosion, alpha and poisson fill.


LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.

Sponsors and contributors are automatically added to the Patron License and they can ignore any non-commercial rule of the Prosperity License software (please take a look at the exceptions).

It's also possible to get a permanent commercial license hooked to a single and specific version of LYGIA.