---
title: LowLevelMaterialResource.Function
framework: realitykit
role: symbol
role_heading: Protocol
path: realitykit/lowlevelmaterialresource/function
---

# LowLevelMaterialResource.Function

A compiled shader stage function that can receive per-draw parameters via an argument table.

## Declaration

```swift
protocol Function : Sendable
```

## Topics

### Configuring the function

- [parameterMapping](realitykit/lowlevelmaterialresource/function/parametermapping.md)
- [argumentTableDescriptor](realitykit/lowlevelmaterialresource/function/argumenttabledescriptor.md)

## Relationships

### Inherits From

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

### Conforming Types

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

## See Also

### 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)
