サーフェスシェーダー
照明あるいは影による影響を考慮してメッシュを描画する。Cg/HLSL で記述する。フォワードレンダリングあるいはディファ―ドレンダリングをサポートする。サーフェスシェーダーは内部的に頂点シェーダー/フラグメントシェーダーに変換される。
参考:
サーフェスシェーダーの記述 | Unity マニュアル [公式]
書き方
参考:
Surface シェーダーとフラグメントシェーダーの違いを軽くまとめてみた – Qiita
ShaderLab シンタックス | Unity 2018.4 マニュアル [公式]
導入
参考:
基本とサーフェースシェーダー | Tsumiki Tech Times
サーフェイスシェーダーの例 | Unity マニュアル [公式]
ライティングモデル
参考:
サーフェスシェーダーでのカスタムライティングモデル | Unity マニュアル [公式]
サーフェスシェーダーライティングの例 | Unity マニュアル [公式]
放出/エミッション (Emission)
参考:
Surface Shader を利用した発光シェーダ | WonderPlanet Developers’ Blog
How to add Emission to my custom shader? – Unity Answers
デバッグ
参考:
#pragma debug | UnityShader 入門 (unityshader.hatenablog.com)
アウトラインを描画する
参考:
解説/コードリーディング
参考:
Unity で Standard Surface Shader の変換後のコードを追ってみた (Forward) | 凹みTips