|
@@ -24,84 +24,129 @@
|
|
|
|
|
|
Pass
|
|
|
{
|
|
|
- Blend SrcAlpha OneMinusSrcAlpha
|
|
|
+ Blend SrcAlpha OneMinusSrcAlpha
|
|
|
|
|
|
- CGPROGRAM
|
|
|
+ CGPROGRAM
|
|
|
+
|
|
|
+ #pragma vertex vert
|
|
|
+ #pragma fragment frag
|
|
|
+
|
|
|
+ #include "UnityCG.cginc"
|
|
|
+
|
|
|
+ struct appdata_t
|
|
|
+ {
|
|
|
+ float4 vertex : POSITION;
|
|
|
+ float2 texcoord : TEXCOORD0;
|
|
|
+ };
|
|
|
+
|
|
|
+ struct v2f
|
|
|
+ {
|
|
|
+ float4 vertex : SV_POSITION;
|
|
|
+ float2 texcoord : TEXCOORD0;
|
|
|
+ };
|
|
|
+
|
|
|
+ v2f vert(appdata_t IN)
|
|
|
+ {
|
|
|
+ v2f OUT;
|
|
|
+
|
|
|
+ OUT.vertex = UnityObjectToClipPos(IN.vertex * 1.1);
|
|
|
+ OUT.texcoord = IN.texcoord;
|
|
|
+
|
|
|
+ return OUT;
|
|
|
+ }
|
|
|
+
|
|
|
+ sampler2D _MainTex;
|
|
|
+
|
|
|
+ fixed4 SampleSpriteTexture(float2 uv)
|
|
|
+ {
|
|
|
+ fixed4 color = tex2D(_MainTex, uv);
|
|
|
+
|
|
|
+ return color;
|
|
|
+ }
|
|
|
+
|
|
|
+ fixed4 frag(v2f IN) : SV_Target
|
|
|
+ {
|
|
|
+ fixed4 c = SampleSpriteTexture(IN.texcoord);
|
|
|
+
|
|
|
+ c.rgb = 1;
|
|
|
+
|
|
|
+ return c;
|
|
|
+ }
|
|
|
+ ENDCG
|
|
|
+ }
|
|
|
+
|
|
|
+ Pass
|
|
|
+ {
|
|
|
+ Blend SrcAlpha OneMinusSrcAlpha
|
|
|
+
|
|
|
+ CGPROGRAM
|
|
|
|
|
|
- #pragma vertex vert
|
|
|
- #pragma fragment frag
|
|
|
- #pragma target 2.0
|
|
|
- #pragma multi_compile _ PIXELSNAP_ON
|
|
|
- #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
|
|
|
+ #pragma vertex vert
|
|
|
+ #pragma fragment frag
|
|
|
|
|
|
- #include "UnityCG.cginc"
|
|
|
-
|
|
|
- struct appdata_t
|
|
|
- {
|
|
|
- float4 vertex : POSITION;
|
|
|
- float4 color : COLOR;
|
|
|
- float2 texcoord : TEXCOORD0;
|
|
|
- UNITY_VERTEX_INPUT_INSTANCE_ID
|
|
|
- };
|
|
|
-
|
|
|
- struct v2f
|
|
|
- {
|
|
|
- float4 vertex : SV_POSITION;
|
|
|
- fixed4 color : COLOR;
|
|
|
- float2 texcoord : TEXCOORD0;
|
|
|
- UNITY_VERTEX_OUTPUT_STEREO
|
|
|
- };
|
|
|
-
|
|
|
- fixed4 _Color;
|
|
|
-
|
|
|
- v2f vert(appdata_t IN)
|
|
|
- {
|
|
|
- v2f OUT;
|
|
|
- UNITY_SETUP_INSTANCE_ID(IN);
|
|
|
- UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
|
|
|
- OUT.vertex = UnityObjectToClipPos(IN.vertex);
|
|
|
- OUT.texcoord = IN.texcoord;
|
|
|
- OUT.color = IN.color * _Color;
|
|
|
- #ifdef PIXELSNAP_ON
|
|
|
- OUT.vertex = UnityPixelSnap(OUT.vertex);
|
|
|
- #endif
|
|
|
-
|
|
|
- return OUT;
|
|
|
- }
|
|
|
-
|
|
|
- sampler2D _MainTex;
|
|
|
- sampler2D _AlphaTex;
|
|
|
-
|
|
|
- fixed4 SampleSpriteTexture(float2 uv)
|
|
|
- {
|
|
|
- fixed4 color = tex2D(_MainTex, uv);
|
|
|
-
|
|
|
- #if ETC1_EXTERNAL_ALPHA
|
|
|
- // get the color from an external texture (usecase: Alpha support for ETC1 on android)
|
|
|
- color.a = tex2D(_AlphaTex, uv).r;
|
|
|
- #endif //ETC1_EXTERNAL_ALPHA
|
|
|
-
|
|
|
- return color;
|
|
|
- }
|
|
|
-
|
|
|
- fixed4 frag(v2f IN) : SV_Target
|
|
|
- {
|
|
|
- fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
|
|
|
- c.rgb *= c.a;
|
|
|
-
|
|
|
- if (c.a == 0)
|
|
|
- {
|
|
|
- discard;
|
|
|
- }
|
|
|
- else if(c.a < 1)
|
|
|
- {
|
|
|
- c.rgb = fixed3(1, 1, 1);
|
|
|
- c.a += 0.5;
|
|
|
- }
|
|
|
+ #pragma target 2.0
|
|
|
+
|
|
|
+ #pragma multi_compile _ PIXELSNAP_ON
|
|
|
+ #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
|
|
|
+
|
|
|
+ #include "UnityCG.cginc"
|
|
|
+
|
|
|
+ struct appdata_t
|
|
|
+ {
|
|
|
+ float4 vertex : POSITION;
|
|
|
+ float4 color : COLOR;
|
|
|
+ float2 texcoord : TEXCOORD0;
|
|
|
+ UNITY_VERTEX_INPUT_INSTANCE_ID
|
|
|
+ };
|
|
|
+
|
|
|
+ struct v2f
|
|
|
+ {
|
|
|
+ float4 vertex : SV_POSITION;
|
|
|
+ fixed4 color : COLOR;
|
|
|
+ float2 texcoord : TEXCOORD0;
|
|
|
+ UNITY_VERTEX_OUTPUT_STEREO
|
|
|
+ };
|
|
|
+
|
|
|
+ fixed4 _Color;
|
|
|
+
|
|
|
+ v2f vert(appdata_t IN)
|
|
|
+ {
|
|
|
+ v2f OUT;
|
|
|
+ UNITY_SETUP_INSTANCE_ID(IN);
|
|
|
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
|
|
|
+ OUT.vertex = UnityObjectToClipPos(IN.vertex);
|
|
|
+ OUT.texcoord = IN.texcoord;
|
|
|
+ OUT.color = IN.color * _Color;
|
|
|
+ #ifdef PIXELSNAP_ON
|
|
|
+ OUT.vertex = UnityPixelSnap(OUT.vertex);
|
|
|
+ #endif
|
|
|
+
|
|
|
+ return OUT;
|
|
|
+ }
|
|
|
+
|
|
|
+ sampler2D _MainTex;
|
|
|
+ sampler2D _AlphaTex;
|
|
|
+
|
|
|
+ fixed4 SampleSpriteTexture(float2 uv)
|
|
|
+ {
|
|
|
+ fixed4 color = tex2D(_MainTex, uv);
|
|
|
+
|
|
|
+ #if ETC1_EXTERNAL_ALPHA
|
|
|
+ // get the color from an external texture (usecase: Alpha support for ETC1 on android)
|
|
|
+ color.a = tex2D(_AlphaTex, uv).r;
|
|
|
+ #endif //ETC1_EXTERNAL_ALPHA
|
|
|
+
|
|
|
+ return color;
|
|
|
+ }
|
|
|
+
|
|
|
+ fixed4 frag(v2f IN) : SV_Target
|
|
|
+ {
|
|
|
+ fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
|
|
|
+ c.rgb *= c.a;
|
|
|
|
|
|
- return c;
|
|
|
- }
|
|
|
- ENDCG
|
|
|
+ return c;
|
|
|
+ }
|
|
|
+ ENDCG
|
|
|
}
|
|
|
}
|
|
|
}
|