Shader "gta_default"
{
Properties
{
StippleTexture("StippleTexture", 2D) = "" {}
TextureSampler("Diffuse Texture", 2D) = "" {}
globalAnimUV0("globalAnimUV0", Vector) = (1,0,0,0)
globalAnimUV1("globalAnimUV1", Vector) = (0,1,0,0)
globalScalars("globalScalars", Vector) = (1,1,1,1)
globalScalars2("globalScalars2", Vector) = (1,1,1,1)
stencil("Stencil", Vector) = (0,0,255,0)
}
SubShader
{
Cull Off
Blend SrcAlpha OneMinusSrcAlpha
Fog{
}
CGPROGRAM
#pragma surface surf Lambert
#pragma target 2.0
sampler2D StippleTexture;
sampler2D TextureSampler;
float3 globalAnimUV0;
float3 globalAnimUV1;
float4 globalScalars;
float4 globalScalars2;
float4 stencil;
struct Input {
float2 uvTextureSampler;
float3 texcoord1;
float3 worldPos;
float3 worldRefl;
float4 color : COLOR;
};
void surf (Input IN, inout SurfaceOutput o) {
float4 c0 = float4(-1, 0, 9.99999975e-006, 1);
float4 c1 = float4(3.99600005, 4, 0.125, 0.25);
float4 c2 = float4(0.5, 0, 1, 0.25);
float4 r0=tex2D(TextureSampler,IN.uvTextureSampler.xy);
r0.w *= IN.color.w;
r0.w *= globalScalars.x;
float4 r1;
r1.x = saturate(r0.w);
r1.x *= c1.x;
r1.y = frac(r1.x);
r1.z = r1.y * c1.y;
r1.w = frac(r1.z);
float4 r2;
r2.xy = r1.zxzw + -r1.wyzw;
r1.xy = c1.z * IN.worldPos.xy;
r1.xy = frac(abs(r1));
r1.xy = clamp(IN.worldPos.xy,r1.xy,-r1.xy);
r1.xy = r1.xy * c1.w;
r1.xy = r2.xy * c1.w + r1.xy;
r1 = tex2D(StippleTexture, r1.xy);
r1 = clamp(-r1.y,c0.x,c0.y);
clip(r1);
r1.xyz = c0.z + IN.worldPos;
r1.w = dot(r1,r1);
r1.w = rsqrt(r1.w);
r1.xyz = r1 * r1.w * c0.w;
o.Albedo = r0;
o.Alpha = r0.a;
}
ENDCG
}
}