Advertisement
Guest User

Untitled

a guest
Jan 6th, 2018
1,739
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
  2.  
  3. Shader "Sprites/DefaultShadow"
  4. {
  5.     Properties
  6.     {
  7.         [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  8.         _Color ("Tint", Color) = (1,1,1,1)
  9.         [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
  10.         [HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1)
  11.         [HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1)
  12.         [PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {}
  13.         [PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0
  14.         _ShadowOffset("Shadow Offset", Vector) = (0.02,-0.02,0,0)
  15.         _ShadowColor("Shadow Color", Color) = (0, 0, 0, 0.5)
  16.     }
  17.  
  18.     SubShader
  19.     {
  20.         Tags
  21.         {
  22.             "Queue"="Transparent"
  23.             "IgnoreProjector"="True"
  24.             "RenderType"="Transparent"
  25.             "PreviewType"="Plane"
  26.             "CanUseSpriteAtlas"="True"
  27.         }
  28.  
  29.         Cull Off
  30.         Lighting Off
  31.         ZWrite Off
  32.         Blend One OneMinusSrcAlpha
  33.  
  34.         Pass
  35.         {
  36.         CGPROGRAM
  37.             #pragma vertex SpriteVertShadow
  38.             #pragma fragment SpriteFragShadow
  39.             #pragma target 2.0
  40.             #pragma multi_compile_instancing
  41.             #pragma multi_compile _ PIXELSNAP_ON
  42.             #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
  43.             #include "UnitySprites.cginc"
  44.  
  45.             fixed4 _ShadowColor;
  46.             fixed4 _ShadowOffset;
  47.  
  48.             v2f SpriteVertShadow(appdata_t IN)
  49.             {
  50.                 v2f OUT;
  51.  
  52.                 UNITY_SETUP_INSTANCE_ID (IN);
  53.                 UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
  54.  
  55.                 #ifdef UNITY_INSTANCING_ENABLED
  56.                     IN.vertex.xy *= _Flip;
  57.                 #endif
  58.  
  59.                 OUT.vertex = UnityObjectToClipPos(IN.vertex + _ShadowOffset);
  60.                 OUT.texcoord = IN.texcoord;
  61.                 OUT.color = IN.color * _Color * _RendererColor;
  62.  
  63.                 #ifdef PIXELSNAP_ON
  64.                     OUT.vertex = UnityPixelSnap (OUT.vertex);
  65.                 #endif
  66.  
  67.                 return OUT;
  68.             }
  69.  
  70.             fixed4 SpriteFragShadow(v2f IN) : SV_Target
  71.             {
  72.                 fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
  73.                 if (c.a < 0.99) discard;
  74.                 c.rgb = _ShadowColor;
  75.                 c.a = _ShadowColor.a;
  76.                 return c;
  77.             }
  78.  
  79.         ENDCG
  80.         }
  81.  
  82.         Pass
  83.         {
  84.             CGPROGRAM
  85.             #pragma vertex SpriteVert
  86.             #pragma fragment SpriteFrag
  87.             #pragma target 2.0
  88.             #pragma multi_compile_instancing
  89.             #pragma multi_compile _ PIXELSNAP_ON
  90.             #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
  91.             #include "UnitySprites.cginc"
  92.             ENDCG
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement