public void AdjustSaturation(float saturation)
{
saturation += 1.0f;
float invSat = 1.0f - saturation;
float invLumR = invSat * LUMA_R;
float invLumG = invSat * LUMA_G;
float invLumB = invSat * LUMA_B;
float[] mtx =
{
(invLumR + saturation), invLumG, invLumB, 0, 0,
invLumR, (invLumG + saturation), invLumB, 0, 0,
invLumR, invLumG, (invLumB + saturation), 0, 0,
0, 0, 0, 1, 0
};
ConcatMatrix(this, mtx);
}