シェーダーの基礎
一般的にシェーダーと呼ばれるシェーダープログラムは、GPU 上で実行されるプログラムのことです。
シェーダーの種類
Unity では、シェーダーは大きく 3 つのカテゴリに分かれています。それぞれのカテゴリは、使用目的も使用方法も異なります。
-
グラフィックスパイプライン の一部であるシェーダーは最も一般的なシェーダーです。これは、画面上のピクセルの色を決定する計算を行います。Unity では、通常、シェーダーオブジェクト を使ってこのタイプのシェーダーを利用します。
-
コンピュートシェーダー は、GPU 上 (通常のグラフィックスパイプラインの外) で計算を行います。
- レイトレーシングシェーダーは、レイトレーシングに関する計算を行います。
用語
シェーダーに関する用語は紛らわしく、一般に、"シェーダー" という言葉は様々な意味で使われています。
このドキュメントでは、用語を以下のように使用します。
-
シェーダー または シェーダープログラム - GPU 上で実行されるプログラム。特に指定のない限り、グラフィックスパイプラインの一部であるシェーダープログラムを意味します。
-
シェーダーオブジェクト -
Shader クラスのインスタンス。シェーダーオブジェクトは、シェーダープログラムやその他の情報のラッパーです。
-
ShaderLab - シェーダーを作成するための Unity 固有の言語。
-
Shader Graph - コードを書かずにシェーダーを作成するためのツール。
-
シェーダー アセット - Unity プロジェクト内の
.shader 拡張子を持つファイル。シェーダーオブジェクトを定義します。
-
Shader Graph アセット - Unityプロジェクト内のファイル。シェーダーオブジェクトを定義します。