---
title: LowLevelMaterialResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/lowlevelmaterialresource
---

# LowLevelMaterialResource

A compiled material composed of three independently-replaceable shader stages.

## Declaration

```swift
final class LowLevelMaterialResource
```

## Overview

Overview A LowLevelMaterialResource combines a GeometryModifier (vertex stage), a SurfaceShader (fragment stage), and a LightingFunction (lighting evaluation). Each stage can receive per-draw parameters through its own LowLevelArgumentTable, described by argumentTableDescriptor.

## Topics

### Describing the material

- [LowLevelMaterialResource.Descriptor](realitykit/lowlevelmaterialresource/descriptor.md)
- [LowLevelMaterialResource.SimpleSurfaceDescriptor](realitykit/lowlevelmaterialresource/simplesurfacedescriptor.md)

### Configuring the shaders

- [surface](realitykit/lowlevelmaterialresource/surface.md)
- [LowLevelMaterialResource.SurfaceShader](realitykit/lowlevelmaterialresource/surfaceshader.md)
- [geometry](realitykit/lowlevelmaterialresource/geometry.md)
- [LowLevelMaterialResource.GeometryModifier](realitykit/lowlevelmaterialresource/geometrymodifier.md)
- [LowLevelMaterialResource.LightingFunction](realitykit/lowlevelmaterialresource/lightingfunction.md)
- [LowLevelMaterialResource.Function](realitykit/lowlevelmaterialresource/function.md)

### Reading shader graph output

- [LowLevelMaterialResource.ShaderGraphOutput](realitykit/lowlevelmaterialresource/shadergraphoutput.md)

### Instance Properties

- [lighting](realitykit/lowlevelmaterialresource/lighting.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### 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)
- [LowLevelDeviceResource](realitykit/lowleveldeviceresource.md)
- [BoundingSphereBox](realitykit/boundingspherebox.md)
