ShaderLabのレンダリング設定項目(ステートメント)http://docs-jp.unity3d.com/Documentation/Components/SL-Pass.htmlOpenGLの固定パイプラインで、カリングやります、ブレンドします、アルファテストします、的なglEnable()をやっていきますが、それのイメージ。書くことも出来て、その場合SubShader内全パス共通設定になる。この点については、下のページに説明あり。UnityにおけるShaderとは?以下、個人的な追記。ステートメント「のみ」を用いて記述すると、固定の関数に好みの変数をセットしてシェーダを作り上げることになります。こんなタイプでとか何とか、設定していきます。固定パイプラインのイメージはこのページの上図。サーフェスシェーダポリゴンに着色するのに特化したシェーダ。Unityのシーン中のライティングも自動で適用される。それだけがしたいなら簡単に書けるぜ、と言う物。Shaderのパス形式に変換してくれる。Shaderを書くときは、Pass{}ブロックは無い。Shader)頂点を変形させたり、色を変化させながら塗ったりしたい場合はこちらを利用。GLSLに慣れていたら、こっちの方が自然に感じると思われます。1ファイルに全部書いちゃうけど。公式曰くUnityのライトで反応しないシェーダについて言及します。等)概要の説明はここhttp://docs-jp.unity3d.com/Documentation/Components/SL-ShaderPrograms.html読みやすいサンプルhttp://docs-jp.unity3d.com/Documentation/Components/SL-VertexProgramInputs.htmlスクリーン座標などを用いた、マニアックな(お洒落な)サンプルhttp://docs-jp.unity3d.com/Documentation/Components/SL-VertexFragmentShaderExamples.html詳細な部分Shaderのinput/output構造体のメンバに付けるセマンティクス「この変数はシェーダ内では位置を意味するって決まってるよ、だからその値下さい」等とグラボ(パイプライン)に伝達する為の、意味(セマンティック)の指定。構造体を定義する際に利用する。これで全部ではないかも。サンプルをみると、セマンティクスたくさん出てきます。うち、よく使われているとおもう物メモ。UnityCG.cgincして利用する。:一般的な物体描画の時に利用。Unityのシーンから算出される変換行列は、このほかにもたくさん。unity_DeltaTime:便利な時間関係の値が取得できる。_SinTimeの使い方がおもしろい。Shaderへのインプットとしての構造体など。UnityCG.cgincを読みましょう、ってことですな。Cgのよく使う関数群ShaderLab特有というわけでは無いけど、メモ。