Unity には、定義済みの変数やヘルパー関数を呼び出すために シェーダプログラム で使用できるいくつかのファイルが含まれています。これは以下のような標準的な #include ディレクティブで行われています。
CGPROGRAM
// ...
#include "UnityCG.cginc"
// ...
ENDCG
Unity のシェーダー include ファイルは .cginc 拡張子がつけられていて、以下が含まれています。
HLSLSupport.cginc - ヘルパーマクロやクロスプラットフォームのシェーダーコンパイルの定義 (自動的に含まれます)。UnityShaderVariables.cginc - 一般的に使用されるグローバル変数 (自動的に含まれます)。UnityCG.cginc - 一般的に使用される ヘルパー関数。AutoLight.cginc - ライティングやシャドウ機能、例えば サーフェスシェーダー は内部的にこのファイルを使用します。Lighting.cginc - 標準的な サーフェスシェーダー ライティングモデル、サーフェスシェーダーを記述するとき自動的に含まれます。TerrainEngine.cginc - Terrain (地形)や Vegetation (植生)のシェーダーのヘルパー関数。これらのファイルは Unity アプリケーションの( Windows では {unity install path}/Data/CGIncludes/UnityCG.cginc 、Mac では /Applications/Unity/Unity.app/Contents/CGIncludes/UnityCG.cginc )で見つかりますので、ヘルパーコードが具体的に何をしているか見たい場合は参照してください。
CGPROGRAM シェーダーをコンパイルする場合はこのファイルは自動的に含まれます (ただし、HLSLPROGRAM シェーダーの場合には含まれません)。このファイルは、さまざまな プロセッサーマクロ を宣言し、マルチプラットフォームシェーダー開発を支援します。
CGPROGRAM シェーダーをコンパイルする場合はこのファイルは自動的に含まれます (ただし、HLSLPROGRAM シェーダーの場合には含まれません)。このファイルは、一般的にシェーダーで使用されるさまざまな ビルトインのグローバル変数 を宣言します。
このファイルは Shader オブジェクトに頻繁に含まれ、多くの ビルトインのヘルパー関数 を定義します。
appdata_base: 位置、法線、テクスチャ座標、頂点シェーダー入力。appdata_tan: 位置、法線、接線、ひとつのテクスチャ座標、頂点シェーダー入力。appdata_full: 位置、法線、接線、頂点カラー、ふたつのテクスチャ座標、頂点シェーダー入力。appdata_img: 位置、ひとつのテクスチャ座標、頂点シェーダー入力。