希望创建一个具有颜色变换的 CTL,该颜色变换对一对相反的颜色进行去饱和。
我下面的例子有效:但不像预期的那样:
__DEVICE__ float3 squeeze_GM(float percentage, float R, float G, float B) {
float rOut = R - (((percentage/2) / 100) * R);
float gOut = G - ((percentage / 100) * G);
float bOut = B - (((percentage/2) / 100) * B);
return make_float3(rOut, gOut, bOut);
}
__DEVICE__ float3 transform(int p_Width, int p_Height, int p_X, int p_Y, float p_R, float p_G, float p_B){
float3 result = squeeze_GM(15, p_R, p_G, p_B);
return result;
}
我想挤压绿色和洋红色,以便将这些颜色的饱和度降低一定百分比传递给squeeze_GM
函数。
有谁知道我如何获得这种转变的任何细节?目前我认为我只是让 RGB 值变暗了一定百分比。我需要平均我的 R 和 B 结果吗?