In: Atomic Nodes


Since SD 6.0+


The Curve node provides an interface to image tonality remapping, similar to other 2D image editing applications. The user can place points and adjust Bezier curves to remap the input, which can be either grayscale or color.It is especially useful when used with gradient transitions to remap them to a specific height profile, it allows for very precise modeling of bevel profiles and the like.

Unlike most other nodes, the Curve node does not have a typical standard interface with sliders and parameters, but instead presents a full fledged curve editor. See the below expandable section on how to use it.
This does however mean that none of the parameters from a Curve node can be exposed to a subgraph. The only option here is to use a Multi-Switch to switch between different curve profiles.


  • Apply / Expose Curve: Expose Curve, Apple Curve
    Determines wether the Curve node applies its profile to the input, or if it just outputs the profile as if it was applied to a straight, linear gradient, without requiring an input. Available since SD 2020.2
  • Curve Adressing: Repeat, Clamp
    This feature is used if your input is in HDR mode and its range goes beyond the (0, 1) range. If so the values beyond the (0, 1) range are either clamped or repeated.


Below you can see how the curve node can remap multiple gradient inputs to a specific profile.

Usage Guide

Create and move a point

In order to create a point, simply double-click anywhere on the Curve view:

Controlling the point influence

In order to obtain precise results, the curve nodes offers different modes for each point:

: reset the point mode to the default value.

: lock/unlock the 2 bezier handlers so the user can move them together or independently.

: both side of the point are controlled by a Bezier handler.

: the right side of the point is controlled by a Bezier handler while the left side remains flat.

: the left side of the point is controlled by a Bezier handler while the right side remains flat.

: the point sides remain flat

Show  input histogram

You can show/hide the histogram of your input just by clicking on 

Controlling each channel individually (color input)

When you input is a color node, you have the ability to ajust the curve for each channel:

Just select the curve you want to ajust in the dropdown list located on the top right:

While in RGB curve mode, you canhide/show  the individual channel curves by pressing/unpressing :

Aligning, mirroring and flipping

If you right click on the curve view, you will get some more options:

Align to top/middle/bottom

Only available when 2 or more points are selected: 

Will align the selected points horizontally:

  • Top: Aligned the points with the highest one
  • Middle: aligned according to the average height
  • Bottom: Aligned the points with the lowest one

Distribute horizontally/vertically

Only available when 2 or more points are selected: 

Distribute the points on the selected axis

Flip horizontally/vertically

Only available when 2 or more points are selected: 

Flip the selected points according to the selected axis

Mirror horizontally/vertically

Mirror the whole curve, according to the selected axis

Keyboard Shortcuts

  • Alt+ click & drag a handler: temporarily break the handlers to move it independently:

  • Moving a point while holding shift, constrains the movement on the x or y axis:

  • Click and drag from an empty point, draws a box selection:

Right click menu

Right clicking on the curve view gives you access to some alignment and distribution options:

Adapt the size of the Curve view

While tweaking the handlers, you may be in a case where one handler is going over the curve view.

In that case, you can use the  button to fit the size to the content.

The  button resets the zoom level to 1