Repolode
patriciogonzalezvivo

patriciogonzalezvivo/lygia

GLSL、HLSL、Metal、WGSL、WebGL、CUDA向けの細分化されたシェーダー関数ライブラリ。各ファイルに再利用可能な関数を1つずつ収録しています。

スター
3,480
フォーク
226
未解決の Issue
26
最終コミット
13 日前

これは何?

LYGIAは、数学、色、空間変換、ノイズ、符号付き距離関数、描画、フィルタリング、ライティング向けの再利用可能な関数を集めたシェーダーライブラリです。各ファイルには関数が1つだけ含まれているため、標準の#includeディレクティブを使って、シェーダーに必要なものだけを読み込めます。

ライブラリは言語ごとに整理されており、GLSL、HLSL、Metal、WGSL、CUDA用のファイルがそれぞれ用意されています。同じ関数が各言語で保守されています。また、Gaussian blurを2Dカーネルに切り替えたり、サンプリング関数を変更したりするなど、一部の関数は#defineオプションでコンパイル時に調整できます。

LYGIAは、リポジトリをcloneするかgit submoduleとしてローカルで利用できるほか、npmからインストールしたり、CodePenなどのブラウザベースのプラットフォーム向けに、ホストされたresolver scriptを介してオンラインで利用したりできます。また、プロジェクトで必要な言語だけを残すprune.pyスクリプトも含まれています。

主な機能

  • 01複数のシェーディング言語に対応し、1ファイルにつき関数を1つ収録する細分化された設計です。
  • 02ローカル、またはホストされたオンラインresolverを通じて#includeの依存関係を解決します。
  • 03読み込み前に#defineオプションで関数を設定できます。
  • 04以前のLYGIAリリースに固定できる、バージョン指定付きのincludeに対応しています。
  • 05必要な言語だけを残すprune.pyスクリプトが含まれています。
  • 06JavaScriptプロジェクト向けのnpmパッケージを提供しています。

ユースケース

  • WebGLやWebGPUのプロジェクトに、ノイズ、イージング、色関連のユーティリティを一から実装せずに追加する。
  • 同じヘルパー関数を再利用しながら、シェーダーをGLSLからHLSL、Metal、WGSLへ移植する。
  • p5.js、Three.js、Unityでジェネラティブアートやクリエイティブコーディングのスケッチを作る。
  • 依存関係を自動解決しながら、CodePenやObservableでシェーダーコードを共有する。

クイックスタート

  1. 1

    それを include するシェーダーの隣に、LYGIA をプロジェクトへクローンします

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

    または、degit を使って Git の履歴なしでダウンロードします

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

    シェーダー内で、"lygia/space/ratio.glsl" など、必要な関数を #include します

使う前に知っておきたいこと

  • これはシェーダー関数ライブラリであり、単独で動作するアプリケーションではありません。独自のシェーダーパイプラインに組み込む必要があります。
  • ライセンスはデュアルライセンスで、一般的なオープンソースライセンスではありません。商用利用の前にライセンス条項を確認してください。

トピック

よくある質問

lygia とは?
GLSL、HLSL、Metal、WGSL、WebGL、CUDA向けの細分化されたシェーダー関数ライブラリ。各ファイルに再利用可能な関数を1つずつ収録しています。 LYGIAは、数学、色、空間変換、ノイズ、符号付き距離関数、描画、フィルタリング、ライティング向けの再利用可能な関数を集めたシェーダーライブラリです。各ファイルには関数が1つだけ含まれているため、標準の#includeディレクティブを使って、シェーダーに必要なものだけを読み込めます。
lygia は無料で使えますか?ライセンスは?
lygia は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
lygia は今もメンテナンスされていますか?
活発にメンテナンス中。lygia の最終コミットは 2026年10月24日 です。
lygia は何に使えますか?
WebGLやWebGPUのプロジェクトに、ノイズ、イージング、色関連のユーティリティを一から実装せずに追加する。 同じヘルパー関数を再利用しながら、シェーダーをGLSLからHLSL、Metal、WGSLへ移植する。 p5.js、Three.js、Unityでジェネラティブアートやクリエイティブコーディングのスケッチを作る。 依存関係を自動解決しながら、CodePenやObservableでシェーダーコードを共有する。
lygia のインストール方法は?
それを include するシェーダーの隣に、LYGIA をプロジェクトへクローンします: git clone https://github.com/patriciogonzalezvivo/lygia.git または、degit を使って Git の履歴なしでダウンロードします: npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia シェーダー内で、"lygia/space/ratio.glsl" など、必要な関数を #include します
lygia はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/patriciogonzalezvivo/lygia

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

GPU.jsはシンプルなJavaScript関数をGPUシェーダーコードに変換し、ブラウザやNode.jsでGPU上で実行します。GPUが使えない場合は通常のJavaScriptにフォールバックします。

1.6万+5 今週667JavaScriptMIT更新 3 日前