|
- Shader "Unlit/Transparent Greyscale (SoftClip)"
- {
- Properties
- {
- _MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}
- }
- SubShader
- {
- Tags
- {
- "IGNOREPROJECTOR" = "true"
- "QUEUE" = "Transparent"
- "RenderType" = "Transparent"
- }
- LOD 200
- Pass // ind: 1, name:
- {
- Tags
- {
- "IGNOREPROJECTOR" = "true"
- "QUEUE" = "Transparent"
- "RenderType" = "Transparent"
- }
- LOD 200
- ZWrite Off
- Cull Off
- Offset -1, -1
- Fog
- {
- Mode Off
- }
- Blend SrcAlpha OneMinusSrcAlpha
- ColorMask RGB
- // m_ProgramMask = 6
- CGPROGRAM
- //#pragma target 4.0
-
- #pragma vertex vert
- #pragma fragment frag
-
- #include "UnityCG.cginc"
-
-
- #define CODE_BLOCK_VERTEX
- //uniform float4x4 unity_ObjectToWorld;
- //uniform float4x4 unity_MatrixVP;
- uniform float4 _MainTex_ST;
- uniform sampler2D _MainTex;
- uniform float2 _ClipSharpness;
- struct appdata_t
- {
- float4 vertex :POSITION;
- float4 texcoord :TEXCOORD0;
- };
-
- struct OUT_Data_Vert
- {
- float2 xlv_TEXCOORD0 :TEXCOORD0;
- float2 xlv_TEXCOORD1 :TEXCOORD1;
- float4 vertex :SV_POSITION;
- };
-
- struct v2f
- {
- float2 xlv_TEXCOORD0 :TEXCOORD0;
- float2 xlv_TEXCOORD1 :TEXCOORD1;
- };
-
- struct OUT_Data_Frag
- {
- float4 color :SV_Target0;
- };
-
- OUT_Data_Vert vert(appdata_t in_v)
- {
- OUT_Data_Vert out_v;
- float4 tmpvar_1;
- tmpvar_1.w = 1;
- tmpvar_1.xyz = in_v.vertex.xyz;
- out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_1));
- out_v.xlv_TEXCOORD0 = in_v.texcoord.xy;
- out_v.xlv_TEXCOORD1 = TRANSFORM_TEX(in_v.vertex.xy, _MainTex);
- return out_v;
- }
-
- #define CODE_BLOCK_FRAGMENT
- OUT_Data_Frag frag(v2f in_f)
- {
- OUT_Data_Frag out_f;
- float grey_1;
- float4 col_2;
- float2 tmpvar_3;
- tmpvar_3 = ((float2(1, 1) - abs(in_f.xlv_TEXCOORD1)) * _ClipSharpness);
- float4 tmpvar_4;
- tmpvar_4 = tex2D(_MainTex, in_f.xlv_TEXCOORD0);
- col_2 = tmpvar_4;
- float tmpvar_5;
- tmpvar_5 = (((col_2.x + col_2.z) + col_2.z) / 3);
- grey_1 = tmpvar_5;
- col_2.z = grey_1;
- col_2.y = grey_1;
- col_2.x = grey_1;
- float tmpvar_6;
- tmpvar_6 = clamp(min(tmpvar_3.x, tmpvar_3.y), 0, 1);
- col_2.w = (col_2.w * tmpvar_6);
- out_f.color = col_2;
- return out_f;
- }
-
-
- ENDCG
-
- } // end phase
- }
- SubShader
- {
- Tags
- {
- "IGNOREPROJECTOR" = "true"
- "QUEUE" = "Transparent"
- "RenderType" = "Transparent"
- }
- LOD 100
- Pass // ind: 1, name:
- {
- Tags
- {
- "IGNOREPROJECTOR" = "true"
- "QUEUE" = "Transparent"
- "RenderType" = "Transparent"
- }
- LOD 100
- ZWrite Off
- Cull Off
- Fog
- {
- Mode Off
- }
- Blend SrcAlpha OneMinusSrcAlpha
- ColorMask RGB
- // m_ProgramMask = 6
- CGPROGRAM
- //#pragma target 4.0
-
- #pragma vertex vert
- #pragma fragment frag
-
- #include "UnityCG.cginc"
-
-
- #define CODE_BLOCK_VERTEX
- //uniform float4x4 unity_ObjectToWorld;
- //uniform float4x4 unity_MatrixVP;
- uniform float4 _MainTex_ST;
- uniform sampler2D _MainTex;
- struct appdata_t
- {
- float4 vertex :POSITION;
- float4 color :COLOR;
- float4 texcoord :TEXCOORD0;
- };
-
- struct OUT_Data_Vert
- {
- float4 xlv_COLOR0 :COLOR0;
- float2 xlv_TEXCOORD0 :TEXCOORD0;
- float4 vertex :SV_POSITION;
- };
-
- struct v2f
- {
- float4 xlv_COLOR0 :COLOR0;
- float2 xlv_TEXCOORD0 :TEXCOORD0;
- };
-
- struct OUT_Data_Frag
- {
- float4 color :SV_Target0;
- };
-
- OUT_Data_Vert vert(appdata_t in_v)
- {
- OUT_Data_Vert out_v;
- float4 tmpvar_1;
- float4 tmpvar_2;
- tmpvar_2 = clamp(in_v.color, 0, 1);
- tmpvar_1 = tmpvar_2;
- float4 tmpvar_3;
- tmpvar_3.w = 1;
- tmpvar_3.xyz = in_v.vertex.xyz;
- out_v.xlv_COLOR0 = tmpvar_1;
- out_v.xlv_TEXCOORD0 = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
- out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_3));
- return out_v;
- }
-
- #define CODE_BLOCK_FRAGMENT
- OUT_Data_Frag frag(v2f in_f)
- {
- OUT_Data_Frag out_f;
- float4 tmpvar_1;
- tmpvar_1 = (tex2D(_MainTex, in_f.xlv_TEXCOORD0) * in_f.xlv_COLOR0);
- out_f.color = tmpvar_1;
- return out_f;
- }
-
-
- ENDCG
-
- } // end phase
- }
- FallBack Off
- }
|