Vertex Shader (頂点シェーダー)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。3Dモデルを構成する個々の「頂点」に対して実行され、座標変換、頂点カラーの処理、および形状に波や変形などのアニメーションを加えるプログラム。
現実世界での例え:人形の関節や粘土の形を『手でコネコネして変形させる』造形師
頂点シェーダーは、「3D空間に配置された粘土細工(3Dメッシュ)の角(頂点)を一つずつつまんで、形をリアルタイムに変形させる造形師」です。カメラから見て粘土がどこにあるべきかを計算し(座標変換)、風が吹いたら「右側の頂点を少し引っ張ろう(風の揺れ)」といった形状の加工を、1秒間に何十回も超高速で行います。この時点ではまだ「色」は塗っておらず、あくまで「骨組みと形状」の調整を担当します。
図:Vertex Shader (頂点シェーダー)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック
詳細な仕組みと動作原理
頂点シェーダー(またはShader GraphのVertexステージ)で、サイン波(Sine Wave)やノイズ関数を用いて頂点位置のローカル座標をリアルタイムに変位させます。