Class ColorMap

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();

Hierarchy

  • ColorMap

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

Properties

_active: boolean
_cachedTexture: Texture
_colors: Color[]
_max: number
_min: number

Accessors

  • get active(): boolean
  • Enables or disables the color map.

    Returns boolean

  • set active(v): void
  • Parameters

    • v: boolean

    Returns void

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

    Returns Color[]

  • set colors(v): void
  • Parameters

    • v: Color[]

    Returns void

  • get max(): number
  • Gets or sets the upper bound of the color map range.

    Returns number

  • set max(v): void
  • Parameters

    • v: number

    Returns void

  • get min(): number
  • Gets or sets the lower bound of the color map range.

    Returns number

  • set min(v): void
  • Parameters

    • v: number

    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

Methods

  • Disposes the texture owned by this color map.

    Returns void

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

    Returns Texture

    The resulting texture.

Generated using TypeDoc