GUI レイヤー(旧)
サーフェスシェーダーの記述

シェーダーリファレンス

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

ニーズに応じた適切なタイプを選ぶには、マテリアルとシェーダーとテクスチャを参照してください。

選択したタイプに関係なく、シェーダーコードの実際の本体は、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 シンタックス の基本的なコンセプトを読んでから、他のセクションでサーフェースシェーダーか頂点シェーダーやフラグメントシェーダーに移ることをお勧めします。固定関数シェーダーは ShaderLab のみを用いて記述されているため、ShaderLab のリファレンスに詳細が記載されています。

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

シェーダーリファレンスを読んでから、マテリアルとシェーダーとテクスチャ を参照してください。

関連項目

GUI レイヤー(旧)
サーフェスシェーダーの記述