Fragment Shader (フラグメントシェーダー)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。頂点シェーダーの処理後、画面上の各ピクセル(フラグメント)に最終的に「何色を塗るか」を、ライティング、テクスチャ、色合成を用いて決定するプログラム。
現実世界での例え:塗り絵の枠線の中に『精密なグラデーションと特殊絵の具』で色を塗る超一流のペインター
フラグメントシェーダーは、「頂点シェーダーが組み立てた3Dモデルの枠線(ポリゴン)の中に、スプレーや筆を使って超精密に色を塗るペインター」です。ただ単に一色で塗るのではなく、「ここには強い光が当たっているから金色に輝かせよう」「奥の方は影になるから青暗く濁らせよう」といった、人間の目を奪う美しい質感や陰影を、画面の全ピクセルに対して一滴の妥協もなく塗り込んでいきます。
図:Fragment Shader (フラグメントシェーダー)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック
詳細な仕組みと動作原理
フラグメントシェーダー(またはShader GraphのFragmentステージ)を編集し、法線ベクトルとライト方向から鏡面反射(Specular)や環境マップ反射(Reflections)をピクセル単位で高精細に計算します。