#include "common.sh"


struct VsInput
{
  float4 pos       : POSITION;
  float4 color     : COLOR0;
};

struct VsOutput
{
  float4 pos       : POSITION;
  float4 color     : COLOR0;
  float4 fog       : COLOR1;
};


VsOutput vsh(VsInput I)
{
  VsOutput O;

  float4 pos=I.pos;
  O.pos=mul(globtm, pos);
  O.color=I.color;
  O.fog=vs_calc_fog_color(pos.xyz);

  return O;
}


float4 psh(VsOutput I) : COLOR
{
  float3 res=I.color.rgb;
  unpack_color(res);

  // fog
  res=lerp(res, I.fog.rgb, I.fog.a);

  return pack_color(res, 1);
}
