Advertisement
Guest User

Sprites-Multiply

a guest
Nov 20th, 2013
1,841
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. Shader "Sprites/Multiply"
  2. {
  3. Properties
  4. {
  5. [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  6. _Color ("Tint", Color) = (1,1,1,1)
  7. [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
  8. }
  9.  
  10. SubShader
  11. {
  12. Tags
  13. {
  14. "Queue"="Transparent"
  15. "IgnoreProjector"="True"
  16. "RenderType"="Transparent"
  17. "PreviewType"="Plane"
  18. "CanUseSpriteAtlas"="True"
  19. }
  20.  
  21. Cull Off
  22. Lighting Off
  23. ZWrite Off
  24. Fog { Color (1,1,1,1) }
  25. Blend Zero SrcColor
  26. //AlphaTest Greater .01
  27. ColorMask RGB
  28.  
  29. Pass
  30. {
  31. CGPROGRAM
  32. #pragma vertex vert
  33. #pragma fragment frag
  34. #pragma multi_compile DUMMY PIXELSNAP_ON
  35. #include "UnityCG.cginc"
  36.  
  37. struct appdata_t
  38. {
  39. float4 vertex : POSITION;
  40. float4 color : COLOR;
  41. float2 texcoord : TEXCOORD0;
  42. };
  43.  
  44. struct v2f
  45. {
  46. float4 vertex : SV_POSITION;
  47. fixed4 color : COLOR;
  48. half2 texcoord : TEXCOORD0;
  49. };
  50.  
  51. fixed4 _Color;
  52.  
  53. v2f vert(appdata_t IN)
  54. {
  55. v2f OUT;
  56. OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex);
  57. OUT.texcoord = IN.texcoord;
  58. OUT.color = IN.color * _Color;
  59. #ifdef PIXELSNAP_ON
  60. OUT.vertex = UnityPixelSnap (OUT.vertex);
  61. #endif
  62.  
  63. return OUT;
  64. }
  65.  
  66. sampler2D _MainTex;
  67.  
  68. fixed4 frag(v2f IN) : COLOR
  69. {
  70. half4 prev = IN.color * tex2D(_MainTex, IN.texcoord);
  71. return lerp(half4(1,1,1,1), prev, prev.a);
  72. }
  73. ENDCG
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement