Class reference
Gradient
Inherits Resource
A color transition.
Description
This resource describes a color transition by defining a set of colored points and how to interpolate between them. See also Curve which supports more complex easing methods, but does not support colors.
Properties
PackedColorArray colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)
PackedColorArray colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)Gradient's colors as a PackedColorArray. Note: Setting this property updates all colors at once. To update any color individually use set_color().
int interpolation_color_space = 0
int interpolation_color_space = 0The color space used to interpolate between points of the gradient. It does not affect the returned colors, which will always be in sRGB space. Note: This setting has no effect when interpolation_mode is set to GRADIENT_INTERPOLATE_CONSTANT.
int interpolation_mode = 0
int interpolation_mode = 0The algorithm used to interpolate between points of the gradient.
PackedFloat32Array offsets = PackedFloat32Array(0, 1)
PackedFloat32Array offsets = PackedFloat32Array(0, 1)Gradient's offsets as a PackedFloat32Array. Note: Setting this property updates all offsets at once. To update any offset individually use set_offset().
Methods
void add_point(float offset, Color color)
float offset, Color color)Adds the specified color to the gradient, with the specified offset.
Color get_color(int point)
Color get_color(int point)Returns the color of the gradient color at index point.
float get_offset(int point)
float get_offset(int point)Returns the offset of the gradient color at index point.
int get_point_count() const
int get_point_count() constReturns the number of colors in the gradient.
void remove_point(int point)
int point)Removes the color at index point.
void reverse()
Reverses/mirrors the gradient. Note: This method mirrors all points around the middle of the gradient, which may produce unexpected results when interpolation_mode is set to GRADIENT_INTERPOLATE_CONSTANT.
Color sample(float offset)
Color sample(float offset)Returns the interpolated color specified by offset. offset should be between 0.0 and 1.0 (inclusive). Using a value lower than 0.0 will return the same color as 0.0, and using a value higher than 1.0 will return the same color as 1.0. If your input value is not within this range, consider using @GlobalScope.remap() on the input value with output values set to 0.0 and 1.0.
void set_color(int point, Color color)
int point, Color color)Sets the color of the gradient color at index point.
void set_offset(int point, float offset)
int point, float offset)Sets the offset for the gradient color at index point.
Constants
GRADIENT_INTERPOLATE_LINEAR = 0
Linear interpolation.
GRADIENT_INTERPOLATE_CONSTANT = 1
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.
GRADIENT_INTERPOLATE_CUBIC = 2
Cubic interpolation.
GRADIENT_COLOR_SPACE_SRGB = 0
sRGB color space.
GRADIENT_COLOR_SPACE_LINEAR_SRGB = 1
Linear sRGB color space.
GRADIENT_COLOR_SPACE_OKLAB = 2
Oklab color space. This color space provides a smooth and uniform-looking transition between colors.