GUI Layer (Legacy)
Surface Shadersの記述

シェーダ リファレンス

Unity のシェーダは,次の 3 つの方法のいずれかで記述できます。

  • surface shaders として
  • vertex shders および fragment shaders として
  • fixed function shaders として

ニーズに応じた適切なタイプを選ぶには,shader tutorial を参照してください。

選択したタイプに関係なく,シェーダ コードの実際の本体は,ShaderLab と呼ばれる言語で常にラップされます。これは,シェーダ構造を整理するのに使用されます。 以下のような感じになります。

Shader "MyShader" {
    Properties {
        _MyTexture ("My Texture", 2D) = "white" { }
        // other properties like colors or vectors go here as well
    }
    SubShader {
        // here goes the 'meat' of your
        // - surface shader or
        // - vertex and program shader or
        // - fixed function shader
    }
    SubShader {
        // here goes a simpler version of the SubShader above than can run on older graphics cards
    }
}

最初に下記のセクションで ShaderLab文法の基本的なコンセプトを読んでから,他のセクションでsurface shaderまたはvertex shders および fragment shadersに移ることをお勧めします。 fixed function shadersは ShaderLab のみを用いて記述されているため,ShaderLab のリファレンスに詳細が記載されています。

下記のリファレンスには,各種シェーダのサンプルが多く含まれています。 特に,surface shaderのサンプルについては,Resources section から,Unity の組み込みシェーダのソースを利用できます。 Unity の Image Effects パッケージには,多くの興味深いvertex shders および fragment shadersが含まれています。

シェーダ リファレンスを読んでから,shader tutorial を参照してください。

GUI Layer (Legacy)
Surface Shadersの記述