//
// Basic color functions
// RvG, 21-4-09
//

float4 ColorOverlay(float4 cColor)
// Apply Photoshop Overlay operation to 'cColor'
{
  if(cColor.r<0.5)cColor.r*=2.0*cColor.r;
  else            cColor.r=4*cColor.r-2*cColor.r*cColor.r-1;
  if(cColor.g<0.5)cColor.g*=2.0*cColor.g;
  else            cColor.g=4*cColor.g-2*cColor.g*cColor.g-1;
  if(cColor.b<0.5)cColor.b*=2.0*cColor.b;
  else            cColor.b=4*cColor.b-2*cColor.b*cColor.b-1;
  return cColor;
}

float4 ColorOverlayHalf(float4 cColor)
// Half the Photoshop overlay effect
{
  return 0.5*(cColor+ColorOverlay(cColor));
}
