static _defineUniforms(shaderBuilder, imageryFlags) {
    shaderBuilder.addUniform(
      "sampler2D",
      "u_imageryTextures[IMAGERY_TEXTURE_UNITS]",
      ShaderDestination.FRAGMENT,
    );
    shaderBuilder.addUniform(
      "vec4",
      "u_imageryTextureCoordinateRectangle[IMAGERY_TEXTURE_UNITS]",
      ShaderDestination.FRAGMENT,
    );
    shaderBuilder.addUniform(
      "vec4",
      "u_imageryTextureTranslationAndScale[IMAGERY_TEXTURE_UNITS]",
      ShaderDestination.FRAGMENT,
    );

    if (imageryFlags.alpha) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureAlpha[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.brightness) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureBrightness[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.contrast) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureContrast[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.hue) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureHue[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.saturation) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureSaturation[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.gamma) {
      shaderBuilder.addUniform(
        "float",
        "u_imageryTextureOneOverGamma[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
    if (imageryFlags.colorToAlpha) {
      shaderBuilder.addUniform(
        "vec4",
        "u_imageryTextureColorToAlpha[IMAGERY_TEXTURE_UNITS]",
        ShaderDestination.FRAGMENT,
      );
    }
  }
Adds the uniforms that are required for the imagery to the shader.

This will use the given shader builder to add the uniforms to the
shader that are always required for the imagery (e.g. the
`sampler2D u_imageryTextures[...]`).

The array size of all arrays will be `IMAGERY_TEXTURE_UNITS`,
so this has to be added as a `define` with a positive value.

Depending on the given imagery flags being `true`, it will add
the optional uniforms, like `u_imageryTextureAlpha`.

The naming pattern will be `u_imageryTexture<name>`, except for
`gamma`: To safe that one measly division, the thane will be
`oneOverGamma` there.

@param {ShaderBuilder} shaderBuilder The shader builder
@param {ImageryFlags} imageryFlags The imagery flags