1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Shader "AGE/Light"
{
SubShader
{
Tags
{
"RenderType" = "Transparent"
"IgnoreProjector" = "True"
}
Lighting Off
ZWrite Off
Blend Off
GrabPass
{
"_GrabTex"
}
Pass
{
CGPROGRAM
#pragma only_renderers d3d11 d3d11_9x glcore opengl gles gles3 metal
#pragma target 3.0
#pragma fragmentoption ARB_precision_hint_fastest
#pragma vertex vs
#pragma fragment ps
#include "UnityCG.cginc"
struct v2f
{
float4 pos : POSITION;
float2 uv : TEXCOORD0;
float4 uvgrab : TEXCOORD1;
};
sampler2D _MainTex;
sampler2D _GrabTex;
v2f vs(appdata_img v)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
o.uv = v.texcoord.xy;
o.uvgrab = ComputeGrabScreenPos(o.pos);
return o;
}
half4 ps(v2f i) : COLOR
{
half4 a = tex2Dproj(_GrabTex, UNITY_PROJ_COORD(i.uvgrab));
half4 b = tex2D(_MainTex, i.uv);
half4 c;
c.rgb = (1.0f-2.0f*b.rgb)*a.rgb*a.rgb + 2.0f*b.rgb*a.rgb;
c.rgb = c.rgb*b.a + a.rgb*(1.0f-b.a);
c.a = 1.0f;
return c;
}
ENDCG
}
}
FallBack Off
} |
Partager