# ImageOverlay

class in `3d-tiles-renderer/three/plugins`

```js
import { ImageOverlay } from '3d-tiles-renderer/three/plugins';
```

Base class for all image overlays. Provides the interface that `ImageOverlayPlugin` uses to
fetch, lock, and release overlay textures.

## Constructor

```js
new ImageOverlay( options?: Object )
```

- `options`, `Object`, optional
  - `opacity`, `number`, optional, default `1`: Opacity of the overlay layer (0–1).
  - `color`, `number | Color`, optional, default `0xffffff`: Tint color multiplied with the overlay texture.
  - `frame`, `Matrix4`, optional, default `null`: World-space transform defining the plane for planar
projection. If null, cartographic (lat/lon) projection is used instead.
  - `preprocessURL`, `function`, optional, default `null`: Optional function `(url) => url` called before
every fetch to allow URL rewriting or token injection.
  - `alphaMask`, `boolean`, optional, default `false`: If true, the overlay alpha channel masks the
underlying tile surface rather than blending on top of it.
  - `alphaInvert`, `boolean`, optional, default `false`: If true, inverts the alpha channel before
applying the mask or blend.

## Properties

### .downloadQueue: DownloadPriorityQueue

Download queue managing the overlay's concurrent image downloads per server origin.
