A color interpolator resource which can be used to generate colors between user-defined color points. Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the gradient will interpolate from color 1 to color 2 and from color 2 to color 3. The gradient will initially have 2 colors (black and white), one (black) at gradient lower offset 0 and the other (white) at the gradient higher offset 1. See also [Curve] which supports more complex easing methods, but does not support colors. Adds the specified color to the end of the gradient, with the specified offset. Returns the color of the gradient color at index [param point]. Returns the offset of the gradient color at index [param point]. Returns the number of colors in the gradient. Removes the color at the index [param point]. Reverses/mirrors the gradient. [b]Note:[/b] This method mirrors all points around the middle of the gradient, which may produce unexpected results when [member interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT]. Returns the interpolated color specified by [param offset]. Sets the color of the gradient color at index [param point]. Sets the offset for the gradient color at index [param point]. Gradient's colors returned as a [PackedColorArray]. [b]Note:[/b] This property returns a copy, modifying the return value does not update the gradient. To update the gradient use [method set_color] method (for updating colors individually) or assign to this property directly (for bulk-updating all colors at once). The color space used to interpolate between points of the gradient. It does not affect the returned colors, which will always be in sRGB space. See [enum ColorSpace] for available modes. [b]Note:[/b] This setting has no effect when [member interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT]. The algorithm used to interpolate between points of the gradient. See [enum InterpolationMode] for available modes. Gradient's offsets returned as a [PackedFloat32Array]. [b]Note:[/b] This property returns a copy, modifying the return value does not update the gradient. To update the gradient use [method set_offset] method (for updating offsets individually) or assign to this property directly (for bulk-updating all offsets at once). Linear interpolation. Constant interpolation, color changes abruptly at each point and stays uniform between. This might cause visible aliasing when used for a gradient texture in some cases. Cubic interpolation. sRGB color space. Linear sRGB color space. [url=https://bottosson.github.io/posts/oklab/]Oklab[/url] color space. This color space provides a smooth and uniform-looking transition between colors.