!!ARBfp1.0

ATTRIB  extinction = fragment.color.primary;
ATTRIB  inscattering = fragment.color.secondary;

TEMP    road, detail, clouds;
ATTRIB  litcolor = fragment.texcoord[2];

TEX     road, fragment.texcoord[0], texture[0], 2D;
TEX     clouds, fragment.texcoord[1], texture[1], 2D;
TEX     detail, fragment.texcoord[3], texture[3], 2D;
		
PARAM   USEFUL = {0.0, 0.5, 1.0, 2.0};

MAD     detail, detail, USEFUL.w, -USEFUL.z;
ADD     road, road, detail;
MUL     road.rgb, road, litcolor;
MAD     clouds, clouds, -USEFUL.y, USEFUL.z;      # clouds = 1-0.5*clouds
MUL     road, road, clouds;

MUL     road, road, extinction;         # Apply extinction
ADD     result.color, road, inscattering; # Final color with added inscattering
#MOV     result.color, road;
END