Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Gradient

Inherits: Resource < RefCounted < Object

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)

ColorSpace

interpolation_color_space

0

InterpolationMode

interpolation_mode

0

PackedFloat32Array

offsets

PackedFloat32Array(0, 1)

Methods

void

add_point ( float offset, Color color )

Color

get_color ( int point )

float

get_offset ( int point )

int

get_point_count ( ) const

void

remove_point ( int point )

void

reverse ( )

Color

sample ( float offset )

void

set_color ( int point, Color color )

void

set_offset ( int point, float offset )


Enumerations

enum InterpolationMode:

InterpolationMode GRADIENT_INTERPOLATE_LINEAR = 0

Linear interpolation.

InterpolationMode 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.

InterpolationMode GRADIENT_INTERPOLATE_CUBIC = 2

Cubic interpolation.


enum ColorSpace:

ColorSpace GRADIENT_COLOR_SPACE_SRGB = 0

sRGB color space.

ColorSpace GRADIENT_COLOR_SPACE_LINEAR_SRGB = 1

Linear sRGB color space.

ColorSpace GRADIENT_COLOR_SPACE_OKLAB = 2

Oklab color space. This color space provides a smooth and uniform-looking transition between colors.


Property Descriptions

PackedColorArray colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)

Gradient's colors returned as a PackedColorArray.

Note: This property returns a copy, modifying the return value does not update the gradient. To update the gradient use set_color method (for updating colors individually) or assign to this property directly (for bulk-updating all colors at once).


ColorSpace interpolation_color_space = 0

  • void set_interpolation_color_space ( ColorSpace value )

  • ColorSpace get_interpolation_color_space ( )

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 ColorSpace for available modes.

Note: This setting has no effect when interpolation_mode is set to GRADIENT_INTERPOLATE_CONSTANT.


InterpolationMode interpolation_mode = 0

The algorithm used to interpolate between points of the gradient. See InterpolationMode for available modes.