---
title: Low-level rendering
framework: realitykit
role: collectionGroup
role_heading: API Collection
path: realitykit/low-level-rendering
---

# Low-level rendering

Drive the renderer directly to build custom drawing pipelines, meshes, buffers, and textures when higher-level rendering does not give you the control you need.

## Overview

Overview These types give you direct access to the rendering pipeline and the GPU resources that feed it, so you can issue your own draw work and manage how scenes get rendered. Use them to define custom render targets, configure pipeline state, and supply geometry, transforms, buffers, and textures that you control at a fine granularity. This is intended for advanced rendering work where the standard material and mesh APIs are too high level for what you need. Reach for these capabilities when you want precise control over how your 3D content is drawn and how its underlying memory is organized.

## Topics

### Render contexts

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

### Pipeline and render targets

- [LowLevelRenderPipelineState](realitykit/lowlevelrenderpipelinestate.md)
- [LowLevelRenderTarget](realitykit/lowlevelrendertarget.md)
- [LowLevelArgumentTable](realitykit/lowlevelargumenttable.md)
- [LowLevelMaterialParameterMapping](realitykit/lowlevelmaterialparametermapping.md)

### GPU resources

- [LowLevelMeshResource](realitykit/lowlevelmeshresource.md)
- [LowLevelMeshPart](realitykit/lowlevelmeshpart.md)
- [LowLevelMeshInstance](realitykit/lowlevelmeshinstance.md)
- [LowLevelMeshInstanceArray](realitykit/lowlevelmeshinstancearray.md)
- [LowLevelInstanceTransformResource](realitykit/lowlevelinstancetransformresource.md)
- [LowLevelBufferResource](realitykit/lowlevelbufferresource.md)
- [LowLevelBufferSlice](realitykit/lowlevelbufferslice.md)
- [LowLevelTextureResource](realitykit/lowleveltextureresource.md)
- [LowLevelMaterialResource](realitykit/lowlevelmaterialresource.md)
- [LowLevelDeviceResource](realitykit/lowleveldeviceresource.md)
- [BoundingSphereBox](realitykit/boundingspherebox.md)

## See Also

### Performance improvements

- [Improving the Performance of a RealityKit App](realitykit/improving-the-performance-of-a-realitykit-app.md)
- [Reducing GPU Utilization in Your RealityKit App](realitykit/reducing-gpu-utilization-in-your-realitykit-app.md)
- [Reducing CPU Utilization in Your RealityKit App](realitykit/reducing-cpu-utilization-in-your-realitykit-app.md)
- [Construct an immersive environment for visionOS](realitykit/construct-an-immersive-environment-for-visionos.md)
- [Passing Metal command objects around your application](realitykit/passing-metal-command-objects-around-your-application.md)
