---
title: LowLevelRenderer
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/lowlevelrenderer
---

# LowLevelRenderer

A renderer that encodes draw calls for a collection of mesh instances into a Metal command buffer.

## Declaration

```swift
final class LowLevelRenderer
```

## Overview

Overview LowLevelRenderer manages camera constants, per-instance transforms, MSAA resolve, tonemapping, and optional color gamut conversion. You are responsible for creating and committing the Metal command buffer; the renderer only encodes into it.

## Topics

### Creating a renderer

- [init(configuration:renderContext:)](realitykit/lowlevelrenderer/init(configuration:rendercontext:).md)
- [LowLevelRenderer.Configuration](realitykit/lowlevelrenderer/configuration.md)

### Rendering a frame

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

### Managing mesh instances

- [meshInstances(at:)](realitykit/lowlevelrenderer/meshinstances(at:).md)
- [setMeshInstances(_:at:)](realitykit/lowlevelrenderer/setmeshinstances(_:at:).md)
- [meshInstancesArrayCount](realitykit/lowlevelrenderer/meshinstancesarraycount.md)

### Culling and sorting instances

- [cullMeshInstances(_:indices:outIndices:configuration:)](realitykit/lowlevelrenderer/cullmeshinstances(_:indices:outindices:configuration:).md)
- [cullMeshInstances(_:indices:configuration:)](realitykit/lowlevelrenderer/cullmeshinstances(_:indices:configuration:).md)
- [LowLevelRenderer.CullConfiguration](realitykit/lowlevelrenderer/cullconfiguration.md)
- [sortMeshInstances(_:indices:configuration:)](realitykit/lowlevelrenderer/sortmeshinstances(_:indices:configuration:).md)
- [LowLevelRenderer.SortConfiguration](realitykit/lowlevelrenderer/sortconfiguration.md)

### Configuring cameras

- [cameras](realitykit/lowlevelrenderer/cameras.md)
- [LowLevelRenderer.CameraArray](realitykit/lowlevelrenderer/cameraarray.md)
- [LowLevelRenderer.Camera](realitykit/lowlevelrenderer/camera.md)

### Managing color matching

- [colorMatch](realitykit/lowlevelrenderer/colormatch-swift.property.md)
- [LowLevelRenderer.ColorMatch](realitykit/lowlevelrenderer/colormatch-swift.struct.md)
- [setColorMatch(targetingColorSpace:)](realitykit/lowlevelrenderer/setcolormatch(targetingcolorspace:).md)
- [workingColorSpace](realitykit/lowlevelrenderer/workingcolorspace.md)

### Accessing render output

- [output](realitykit/lowlevelrenderer/output-swift.property.md)
- [LowLevelRenderer.Output](realitykit/lowlevelrenderer/output-swift.struct.md)
- [renderTargetDescriptor](realitykit/lowlevelrenderer/rendertargetdescriptor.md)

### Initializers

- [init(resources:)](realitykit/lowlevelrenderer/init(resources:).md)

### Instance Properties

- [time](realitykit/lowlevelrenderer/time.md)

## See Also

### Render contexts

- [LowLevelRenderContext](realitykit/lowlevelrendercontext.md)
- [LowLevelRenderContextLighting](realitykit/lowlevelrendercontextlighting.md)
- [LowLevelRenderContextShaderGraph](realitykit/lowlevelrendercontextshadergraph.md)
- [LowLevelRenderContextStandalone](realitykit/lowlevelrendercontextstandalone.md)
- [LowLevelRenderContextError](realitykit/lowlevelrendercontexterror.md)
- [LowLevelRendererError](realitykit/lowlevelrenderererror.md)
