diff options
Diffstat (limited to 'Assets/Art/Shaders/Shader_GhostEffect.shader')
-rw-r--r-- | Assets/Art/Shaders/Shader_GhostEffect.shader | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Assets/Art/Shaders/Shader_GhostEffect.shader b/Assets/Art/Shaders/Shader_GhostEffect.shader new file mode 100644 index 00000000..432ae27b --- /dev/null +++ b/Assets/Art/Shaders/Shader_GhostEffect.shader @@ -0,0 +1,69 @@ +Shader "Erika/Character/Shader_GhostEffect" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + _Cutoff("Cutoff", Float) = 0.5 + [HDR]_GlowColor ("GlowColor", Color) = (1,1,1,1) + } + SubShader + { + Tags { "RenderType"="Opaque" "Queue" = "Geometry+1"} + LOD 100 + + Pass + { + ZWrite Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + float _Cutoff; + + float4 _GlowColor; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + if(col.a <= _Cutoff) + discard; + //// apply fog + //UNITY_APPLY_FOG(i.fogCoord, col); + //return col; + return _GlowColor; + } + ENDCG + } + } +} |