rullino
    Preparing search index...

    Variable levelsConst

    levels: PointwiseFilter<
        {
            gamma: {
                default: 1;
                description: "Above 1 lightens the midtones, below 1 darkens them.";
                label: "Gamma (midtones)";
                max: 10;
                min: 0.1;
                step: 0.01;
                type: "float";
            };
            inBlack: {
                default: 0;
                description: "Input tones at or below this become black.";
                label: "Input black";
                max: 1;
                min: 0;
                step: 0.005;
                type: "float";
            };
            inWhite: {
                default: 1;
                description: "Input tones at or above this become white.";
                label: "Input white";
                max: 1;
                min: 0;
                step: 0.005;
                type: "float";
            };
            outBlack: {
                default: 0;
                description: "Black is raised to this level: a higher value gives a faded look.";
                label: "Output black";
                max: 1;
                min: 0;
                step: 0.005;
                type: "float";
            };
            outWhite: {
                default: 1;
                description: "White is lowered to this level.";
                label: "Output white";
                max: 1;
                min: 0;
                step: 0.005;
                type: "float";
            };
        },
    > = ...

    Classic levels per channel in sRGB-encoded units: input black/white points stretch the range and clip outside it, gamma bends the midtones, output black/white compress the result. Like any levels tool it is an LDR operation: values above white (HDR) are clipped to the output white, even at the defaults. (Leaving the top unclipped made narrow input ranges blow values past the float16 range.)