「中英文双字幕」「高阶达芬奇 DCTL 编程入门 Part.1 -色彩科学...

Gain高光增益
输出RGB值=(输入RGB值)* Gain值
rgb * gain
Offset偏移
输出RGB值= 输入RGB值+Offset值
rgb + offset
Lift 暗部
输出RGB值=输入RGB值* (1-Lift值)+Lift值
rgb * (1 - lift) + lift
Gamma 中灰
输出RGB值=输入RGB值^(1/Gamma值)
powf(rgb, (1 / gamma)
Contrast 非S弯线性对比度
输出RGB值=(输入RGB值-轴心值pivot)*Contrast 值+轴心值pivot
(rgb-pivot)*contrast+ Contrast
// lift gamma gain offset DCTL代码
DEFINE_UI_PARAMS(offset, Offset, DCTLUI_SLIDER_FLOAT, 0.0, -1.0, 1.0, 0.1)
DEFINE_UI_PARAMS(lift, Lift, DCTLUI_SLIDER_FLOAT, 0.0, -1.0, 1.0, 0.1)
DEFINE_UI_PARAMS(gamma, Gamma, DCTLUI_SLIDER_FLOAT, 1.0, 0.0, 2.0, 0.1)
DEFINE_UI_PARAMS(gain, Gain, DCTLUI_SLIDER_FLOAT, 1.0, 0.0, 2.0, 0.1)
__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 rgb = make_float3(p_R, p_G, p_B);
rgb = make_float3(_powf(rgb.x, (1 / gamma)), _powf(rgb.y, (1 / gamma)), _powf(rgb.z, (1 / gamma)));
rgb = make_float3(rgb.x * (1 - lift) + lift, rgb.y * (1 - lift) + lift, rgb.z * (1 - lift) + lift);
rgb = make_float3(rgb.x * gain, rgb.y * gain, rgb.z * gain);
rgb = make_float3(rgb.x + offset, rgb.y + offset, rgb.z + offset);
return rgb;
}
文本编辑器保存为dctl后缀 放入达芬奇lut文件夹即可打开