---
title: LowLevelRenderer.RenderState
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/lowlevelrenderer/renderstate
---

# LowLevelRenderer.RenderState

The per-frame render state passed to the render(using:_:) callback.

## Declaration

```swift
struct RenderState
```

## Overview

Overview RenderState is non-copyable and non-escapable; it is only valid for the duration of the render(using:_:) callback. Use its methods to encode individual draw calls, or access encoder to issue custom Metal commands between draws.

## Topics

### Accessing the encoder

- [encoder](realitykit/lowlevelrenderer/renderstate/encoder.md)

### Rendering mesh instances

- [render(meshInstancesArrayIndex:meshInstanceIndex:)](realitykit/lowlevelrenderer/renderstate/render(meshinstancesarrayindex:meshinstanceindex:).md)
- [render(meshInstancesArrayIndex:range:)](realitykit/lowlevelrenderer/renderstate/render(meshinstancesarrayindex:range:).md)
- [reset()](realitykit/lowlevelrenderer/renderstate/reset().md)

## See Also

### Rendering a frame

- [render(using:_:)](realitykit/lowlevelrenderer/render(using:_:).md)
- [LowLevelRenderer.Resources](realitykit/lowlevelrenderer/resources.md)
