Represents a 1D color gradient bounded by a min and max values.

Whenever a color map is associated with a grayscale texture, the color intensity of the texture is used a a parameter to sample the color gradient.

Important: since this color map owns a texture, it is disposable. Don't forget to call dispose() to free texture memory, when you're finished using the colormap.

The mode property describes how the intensity of the pixel is interpreted:

Elevation simply takes the intensity value of the pixel, Slope gets the slope of the pixel (assuming it is an elevation texture), and Aspect gets the aspect (orientation from the north) of the pixel (assuming it is an elevation texture).

The min and max properties describe how the colormap is applied relative to the intensity of the sampled pixel.

Pixel intensities outside of those bounds will take the color of the bound that is the closest (i.e if the intensity is greater than max, the color will be the rightmost color of the color ramp).

The colors property takes an array of colors. To create this array, you can use libraries such as colormap or chroma-js to generate the color ramp.

To obtain a "discrete" color map, you should use a small number of colors in the ramp. Conversely, to obtain a "linear", continuous color map, you should use a high number of colors, typically 256 values.

Example

// Create a color map for elevations between 0 and 2500 meters.
const colors = makeColorRamp(); // Use whatever library to generate the ramp.
const colorMap = new ColorMap(colors, 0, 2500, ColorMapMode.Elevation);

const texture = colorMap.getTexture();

// Disable the color map.
colorMap.active = false;

// When finished with this color map, dispose it.
colorMap.dispose();

Constructors

  • Creates an instance of ColorMap.

    Parameters

    • colors: Color[]

      The colors of this color map.

    • min: number

      The lower bound of the color map range.

    • max: number

      The upper bound of the color map range.

    • mode: ColorMapMode = ColorMapMode.Elevation

      The mode of the color map.

    Returns ColorMap

Accessors

  • get colors(): Color[]
  • Gets or sets the colors of the color map.

    Note: if there is already an array defined in the opacity property, and this array does not have the same length as the new color array, then it will be removed.

    Returns Color[]

  • set colors(v): void
  • Parameters

    • v: Color[]

    Returns void

  • get mode(): ColorMapMode
  • Gets or sets the color map mode.

    Returns ColorMapMode

    Example

    // Start with an elevation gradient, ranging from 100 to 1500 meters.
    const colorMap = new ColorMap(colors, 100, 1500, ColorMapMode.Elevation);

    // Change mode to slope, and set min and max to 0-90 degrees.
    colorMap.mode = ColorMapMode.Slope;
    colorMap.min = 0;
    colorMap.max = 90;
  • set mode(v): void
  • Parameters

    Returns void

  • get opacity(): number[]
  • Gets or sets the opacity values of the color map.

    Note: if the provided array does not have the same length as the colors array, an exception is raised.

    Returns number[]

    Default Value

    null
    
  • set opacity(v): void
  • Parameters

    • v: number[]

    Returns void

Methods

  • Returns a 1D texture containing the colors of this color map.

    Returns DataTexture

    The resulting texture.

  • Samples the colormap for the given value.

    Parameters

    • value: number

      The value to sample.

    Returns Color

    The color at the specified value.

  • Samples the transparency for the given value.

    Parameters

    • value: number

      The value to sample.

    Returns number

    The color at the specified value.