Creative-Coding-with-DCTL / Linear Contrast.dctl
Linear Contrast.dctl
Raw
__DEVICE__ float apply_contrast(float in, float contrast, float pivot)

{
    
float out;


out = (in - pivot) * contrast + pivot;

return out;




}


DEFINE_UI_PARAMS(contrast, Contrast, DCTLUI_SLIDER_FLOAT, 1.0, 0.0, 2.0, 0.1)
DEFINE_UI_PARAMS(pivot, Pivot, DCTLUI_SLIDER_FLOAT, .435, 0.0, 1.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 in = {p_R, p_G, p_B};
    float3 out;

    out.x = apply_contrast(in.x, contrast, pivot);
    out.y = apply_contrast(in.y, contrast, pivot);
    out.z = apply_contrast(in.z, contrast, pivot);

    return out;
}