!!ARBfp1.0

TEMP uv;
TEMP colour;
TEMP shadow;
TEMP dist;
TEMP map;

# mov coordinate from <-32,32> to <0,1>
MOV uv, fragment.texcoord[1];
MAD uv, 0.015625, uv, 0.5;

#fetch those texels
TEX dist, uv , texture[1], 2D ;
TEX map, fragment.texcoord[0], texture[0], 2D ;

# calc diff between shadowmap and depth
SUB shadow.r, uv.z , dist.r;
MUL shadow.r,shadow.r, 100.0;
ADD shadow.r, shadow.r, 1.40;  # 1+bias
#clamp
MIN shadow.r, shadow.r, 1.00;
MAX shadow.r, shadow.r, 0.00;
#copy value to all channels
MOV shadow.gb, shadow.r;


# light = ambient + diffuse *angle *shadow *texture
#
MUL colour.rgb, program.local[1], fragment.color.z; 
MUL colour, colour, shadow.r;
ADD colour, colour, program.local[0] ;
MUL colour, map, colour ;


MOV result.color, colour;
END
