The 3PointLevels function takes in an image and remaps the values of each channel across 3 points (white, black, middle). This is similar to applying a Levels adjustment in Photoshop. However, unlike the CheapContrast functions, this function provides full control in that it gives the user ability to adjust interpolation of lights, darks, and grays (gamma). By default, the three remapping points are interpolated linearly. However, you may input your own custom interpolation curve if you wish.
The input texture.
New Black Value (Scalar)
Set the new value for the previous value of 0.
New Middle Value (Scalar)
Replaces the old value that matches the Middle Point input value.
New White Value (Scalar)
Set the new value for the previous value of 1.
Middle Point (Scalar)
Pick a value from the input image that will get replaced with the value from Middle Point.
Define Interpolation Curve (StaticBool)
Set to true if you want to define your own interpolation curve using the Interpolation Power input.
Interpolation Power (Scalar)
A power node applied to the interpolation. This controls the interpolation between the three points (black, white, and middle).
Invert Interpolation Power
Set to true if you want to invert the power curve (this generally lowers contrast instead of boosting it).
The "-------------" inputs of this node are merely separators in the list of inputs for sake of clarity. They are not intended to receive actual connections.
Like the CheapContrast function, this node takes in a scalar by default, meaning it is suited for single channels or black and white images.