# MeshVisibilityCuller

class in `three-edge-projection/webgpu`

```js
import { MeshVisibilityCuller } from 'three-edge-projection/webgpu';
```

Utility for determining visible geometry from a top down orthographic perspective. This can
be run before performing projection generation to reduce the complexity of the operation at
the cost of potentially missing small details.

Takes the WebGPURenderer instance used to render.

## Constructor

```js
new MeshVisibilityCuller( renderer: WebGPURenderer, options?: Object )
```

- `renderer`, `WebGPURenderer`
- `options`, `Object`, optional
  - `pixelsPerMeter`, `number`, optional, default `0.1`

## Properties

### .pixelsPerMeter: number

The size of a pixel on a single dimension. If this results in a texture larger than what
the graphics context can provide then the rendering is tiled.

## Methods

### .cull

```js
async .cull( object: Object3D | Array<Object3D> ): Promise<Array<Object3D>>
```

Returns the set of meshes that are visible within the given object.

- `object`, `Object3D | Array<Object3D>`
