baobao
6/28/2017 - 1:27 AM

ImageStencil.shader

Shader "ImageStencil"
{
    Properties
    {
        _MainTex("T", 2D) = "white"{}
    }

    SubShader
    {
        Tags { "RenderType"="Opaque" "Queue"="Transparent"}
        LOD 100
        Pass
        {
            Stencil {
                Ref 2
                Comp always
                Pass replace
            }
            
            CGPROGRAM
            sampler2D _MainTex;
            #pragma vertex vert_img
            #pragma fragment frag
            #include "UnityCG.cginc"
            
            fixed4 frag (v2f_img i) : SV_Target
            {
                fixed4 c = tex2D(_MainTex, i.uv);
                // 不要なピクセル(透明なピクセル)を破棄させてステンシルテストを実行させない
                clip(c.a - 0.1);
                return c;
            }
            ENDCG
        }
    }
}