_computeImageryTexCoordsAttributesPerProjection() {
    const model = this._model;
    const imageryLayers = model.imageryLayers;

    // Compute the arrays containing ALL projections and the array
    // containing the UNIQUE projections from the imagery layers.
    // Texture coordinate attributes only have to be created once
    // for each projection.
    const allProjections =
      ModelPrimitiveImagery._extractProjections(imageryLayers);
    const uniqueProjections = [...new Set(allProjections)];

    // Create one texture coordinate attribute for each distinct
    // projection that is used in the imagery layers
    const attributes = this._createImageryTexCoordAttributes(uniqueProjections);
    return attributes;
  }
Computes one coordinate attribute for each unique projection
that is used in the imagery layers.

This is taking the mapped positions, projecting them with
the respective projection, and creating a texture coordinate
attribute that describes the texture coordinates of these
positions, relative to the cartographic bounding rectangle
of the mapped positions.

@returns {ModelComponents.Attribute[]} The attributes