float4x4 UNITY_MATRIX_MVP;
float4x4 _Object2World;
float4 _WorldSpaceLightPos0;

struct appdata_full {
    float4 vertex : POSITION;
    float4 tangent : TANGENT;
    float3 normal : NORMAL;
    float4 texcoord : TEXCOORD0;
    float4 texcoord1 : TEXCOORD1;
    fixed4 color : COLOR;
};

struct SurfaceOutput {
	fixed3 Albedo;
	fixed3 Normal;
	fixed3 Emission;
	half Specular;
	fixed Gloss;
	fixed Alpha;
};

sampler2D _MainTex;

fixed4 ololo;

struct Input {
	float2 uv_MainTex;
};

fixed4 LightingNoLight (SurfaceOutput s, fixed3 lightDir, fixed atten) {
	fixed4 c;
	c.rgb = s.Alpha * (s.Albedo + ololo);
	c.a = 1.0;
	return c;
}

void surf (Input IN, inout SurfaceOutput o) {
	half4 c = tex2D (_MainTex, IN.uv_MainTex);
	ololo = c;
	o.Albedo = c.rgb;
	o.Alpha = c.a;
}
struct v2f_surf {
	float4 pos : SV_POSITION;
	float2 pack0 : TEXCOORD0;
	fixed3 normal : TEXCOORD1;
	fixed3 vlight : TEXCOORD2;
};
float4 _MainTex_ST;
v2f_surf vert_surf (appdata_full v) {
	v2f_surf o;
	o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
	o.pack0.xy = v.texcoord;
	float3 worldN = mul((float3x3)_Object2World, v.normal);
	o.normal = worldN;
	o.vlight = 0.1;
	return o;
}

fixed4 main (v2f_surf IN) : COLOR {
	Input surfIN;
	surfIN.uv_MainTex = IN.pack0.xy;
	SurfaceOutput o;
	o.Albedo = 0.0;
	o.Emission = 0.0;
	o.Specular = 0.0;
	o.Alpha = 0.0;
	o.Gloss = 0.0;
	o.Normal = IN.normal;
	surf (surfIN, o);
	fixed atten = 1.0;
	fixed4 c = 0;
	c = LightingNoLight (o, _WorldSpaceLightPos0.xyz, atten);
	c.rgb += o.Albedo * IN.vlight;
	return c;
}