# MeshBuffer.MeshUsage

Artifact: [androidx.xr.scenecore:scenecore](https://developer.android.com/jetpack/androidx/releases/xr-scenecore) [View Source](https://cs.android.com/search?q=file:androidx/xr/scenecore/MeshBuffer.kt+class:androidx.xr.scenecore.MeshBuffer.MeshUsage) Added in [1.1.0-alpha01](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.1.0-alpha01)

*** ** * ** ***


```
public final class MeshBuffer.MeshUsage
```

<br />

*** ** * ** ***

Describes the intended usage and mutability of a `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer`.

Indicates how the buffer was configured at creation time:

- `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage#STATIC()` indicates the mesh data is immutable and optimized for GPU performance.

- `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage#DYNAMIC()` indicates the mesh data can be updated at runtime via `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer#updateVertexData(kotlin.Int,androidx.xr.scenecore.ByteBufferRegion,kotlin.Int)` and `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer#updateIndexData(androidx.xr.scenecore.ByteBufferRegion,kotlin.Int)`.

## Summary

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage` | `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage#DYNAMIC()` Indicates mesh data is modified occasionally at runtime. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage` | `https://developer.android.com/reference/androidx/xr/scenecore/MeshBuffer.MeshUsage#STATIC()` Indicates mesh data is set once and never modified. |

## Public fields

### DYNAMIC

```
public static final @NonNull MeshBuffer.MeshUsage DYNAMIC
```

Indicates mesh data is modified occasionally at runtime.

Balanced for both CPU writes and GPU reads.

### STATIC

```
public static final @NonNull MeshBuffer.MeshUsage STATIC
```

Indicates mesh data is set once and never modified.

Optimized for maximum GPU rendering performance.