A granular, multi-language shader library for real-time graphics, supporting GLSL, HLSL, Metal, WGSL, and CUDA.
LYGIA is a granular and multi-language shader library designed for performance and flexibility in real-time graphics. It provides reusable functions across GLSL, HLSL, Metal, WGSL, and CUDA, enabling developers to prototype, port, and ship projects quickly. The library is battle-tested, cross-platform, and integrates with major engines and frameworks.
Graphics programmers, game developers, creative coders, and visual artists working with shaders in environments like Unity, Unreal Engine, Three.js, p5.js, and other real-time graphics platforms.
Developers choose LYGIA for its extensive, granular function library that supports multiple shading languages out of the box, reducing boilerplate and accelerating shader development. Its flexibility and wide integration ecosystem make it a versatile tool for cross-platform graphics projects.
LYGIA, it's a granular and multi-language (GLSL, HLSL, Metal, WGSL, WEGL and CUDA) shader library designed for performance and flexibility
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Functions are available in GLSL, HLSL, Metal, WGSL, WEGL, and CUDA, enabling easy porting across different graphics APIs as highlighted in the key features.
Each file contains a single function, allowing developers to include only necessary code for performance optimization, as described in the library's philosophy.
Ready-to-use examples and integrations for Unity, Unreal Engine, Three.js, p5.js, and more, demonstrated in the gallery of supported platforms.
Behavior can be customized using #define keywords before inclusion, such as changing Gaussian blur to 2D kernel mode, as shown in the design examples.
Local usage requires configuring the environment to resolve #include dependencies, with multiple methods like cloning, submodules, or pruning that can be confusing for newcomers.
Dual-licensed under the Prosperity License and Patron License, requiring sponsorship or contributions for commercial use, which adds legal complexity compared to permissive licenses.
Cloud-based projects must use the LYGIA server for dependency resolution, introducing potential latency and reliability issues, as noted in the server usage section.