float4 ambient;
float4 diffuse;
float4 diffuse2;
float4 diffuse3;
float4 diffuse4;
sampler diffuseMap;

float4 main(float3 normal   : TEXCOORD0,
            float3 pos_dir  : TEXCOORD1,
            float3 pos_dir2 : TEXCOORD2,
            float3 pos_dir3 : TEXCOORD3,
            float3 pos_dir4 : TEXCOORD4,
            float2 texCoord : TEXCOORD5,
            float4 atten    : TEXCOORD6) : COLOR
{
   float4 d1 = diffuse  * (2-diffuse.a) * max(0,dot(normal,pos_dir )) * atten.x;
   float4 d2 = diffuse2 * (2-diffuse2.a) * max(0,dot(normal,pos_dir2)) * atten.y;
   float4 d3 = diffuse3 * (2-diffuse3.a) * max(0,dot(normal,pos_dir3)) * atten.z;
   float4 d4 = diffuse4 * (2-diffuse4.a) * max(0,dot(normal,pos_dir4)) * atten.w;
   return (ambient+d1+d2+d3+d4)*tex2D(diffuseMap,texCoord);
}