Up to date

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

Gradient

Inherits: Resource < RefCounted < Object

A color interpolator resource which can be used to generate colors between user-defined color points.

Description

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.

Properties

PackedColorArray

colors

PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)

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.


Property Descriptions

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

Gradient's colors returned as a PackedColorArray.


InterpolationMode interpolation_mode = 0

Defines how the colors between points of the gradient are interpolated. See InterpolationMode for available modes.


PackedFloat32Array offsets = PackedFloat32Array(0, 1)

Gradient's offsets returned as a PackedFloat32Array.


Method Descriptions

void add_point ( float offset, Color color )

Adds the specified color to the end of the gradient, with the specified offset.


Color get_color ( int point )

Returns the color of the gradient color at index point.


float get_offset ( int point )

Returns the offset of the gradient color at index point.


int get_point_count ( ) const

Returns the number of colors in the gradient.


void remove_point ( int point )

Removes the color at the 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 )

Returns the interpolated color specified by offset.


void set_color ( int point, Color color )

Sets the color of the gradient color at index point.


void set_offset ( int point, float offset )

Sets the offset for the gradient color at index point.