Last active
October 6, 2017 05:02
-
-
Save twsiyuan/dcb4825a63490a0f6c677a9d818f5408 to your computer and use it in GitHub Desktop.
SpriteShaderUnity5.6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt) | |
Shader "Custom/MySprite" | |
{ | |
Properties | |
{ | |
[PerRendererData]_MainTex ("Sprite Texture", 2D) = "white" {} | |
_Color ("Tint", Color) = (1,1,1,1) | |
[MaterialToggle] PixelSnap ("Pixel snap", Float) = 0 | |
[HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1) | |
[HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1) | |
[PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {} | |
[PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0 | |
_AddColor ("Add Color", Color) = (1,1,1,0) | |
} | |
SubShader | |
{ | |
Tags | |
{ | |
"Queue"="Transparent" | |
"IgnoreProjector"="True" | |
"RenderType"="Transparent" | |
"PreviewType"="Plane" | |
"CanUseSpriteAtlas"="True" | |
} | |
Cull Off | |
Lighting Off | |
ZWrite Off | |
Blend One OneMinusSrcAlpha | |
Pass | |
{ | |
CGPROGRAM | |
#pragma vertex SpriteVert | |
#pragma fragment MySpriteFrag | |
#pragma target 2.0 | |
#pragma multi_compile_instancing | |
#pragma multi_compile _ PIXELSNAP_ON | |
#pragma multi_compile _ ETC1_EXTERNAL_ALPHA | |
#include "UnityCG.cginc" | |
#include "UnitySprites.cginc" | |
fixed4 MySampleSpriteTexture (float2 uv) | |
{ | |
fixed4 color = tex2D (_MainTex, uv); | |
#if ETC1_EXTERNAL_ALPHA | |
fixed4 alpha = tex2D (_AlphaTex, uv); | |
color.a = lerp (color.a, alpha.r, _EnableExternalAlpha); | |
#endif | |
return color; | |
} | |
fixed4 _AddColor; | |
fixed4 MySpriteFrag(v2f IN) : SV_Target | |
{ | |
fixed4 c = MySampleSpriteTexture (IN.texcoord) * IN.color; | |
c.rgb += _AddColor.rgb * _AddColor.a; | |
c.rgb *= c.a; | |
return c; | |
} | |
ENDCG | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment