Version: 2020.3
シェーダーの基礎概念
Shader クラス

シェーダーの基礎

一般的にシェーダーと呼ばれるシェーダープログラムは、GPU 上で実行されるプログラムのことです。

シェーダーの種類

Unity では、シェーダーは大きく 3 つのカテゴリに分かれています。それぞれのカテゴリは、使用目的も使用方法も異なります。

  • グラフィックスパイプライン の一部であるシェーダーは最も一般的なシェーダーです。これは、画面上のピクセルの色を決定する計算を行います。Unity では、通常、シェーダーオブジェクト を使ってこのタイプのシェーダーを利用します。
  • コンピュートシェーダー は、GPU 上 (通常のグラフィックスパイプラインの外) で計算を行います。
  • レイトレーシングシェーダーは、レイトレーシングに関する計算を行います。

用語

シェーダーに関する用語は紛らわしく、一般に、“シェーダー” という言葉は様々な意味で使われています。

このドキュメントでは、用語を以下のように使用します。

  • シェーダー または シェーダープログラム - GPU 上で実行されるプログラム。特に指定のない限り、グラフィックスパイプラインの一部であるシェーダープログラムを意味します。
  • シェーダーオブジェクト - Shader クラスのインスタンス。シェーダーオブジェクトは、シェーダープログラムやその他の情報のラッパーです。
  • ShaderLab - シェーダーを作成するための Unity 固有の言語。
  • Shader Graph - コードを書かずにシェーダーを作成するためのツール。
  • シェーダー アセット - Unity プロジェクト内の .shader 拡張子を持つファイル。シェーダーオブジェクトを定義します。
  • Shader Graph アセット - Unityプロジェクト内のファイル。シェーダーオブジェクトを定義します。
シェーダーの基礎概念
Shader クラス