---
title: Mesh and object shader resource preparation commands
framework: metal
role: collectionGroup
role_heading: API Collection
path: metal/mesh-and-object-shader-resource-preparation-commands
---

# Mesh and object shader resource preparation commands

Assign resources to mesh and object shaders, including buffers, textures, acceleration structures, sampler states, and function tables.

## Overview

Overview Mesh shaders share argument tables for each resource type, such as buffers, textures, and sampler states. Object shaders share their own separate argument tables, distinct from mesh shaders and other shader types.

## Topics

### Assigning buffers for object shaders

- [setObjectBuffer(_:offset:index:)](metal/mtlrendercommandencoder/setobjectbuffer(_:offset:index:).md)
- [setObjectBuffers(_:offsets:range:)](metal/mtlrendercommandencoder/setobjectbuffers(_:offsets:range:).md)
- [setObjectBytes(_:length:index:)](metal/mtlrendercommandencoder/setobjectbytes(_:length:index:).md)
- [setObjectBufferOffset(_:index:)](metal/mtlrendercommandencoder/setobjectbufferoffset(_:index:).md)

### Assigning textures for object shaders

- [setObjectTexture(_:index:)](metal/mtlrendercommandencoder/setobjecttexture(_:index:).md)
- [setObjectTextures(_:range:)](metal/mtlrendercommandencoder/setobjecttextures(_:range:).md)

### Assigning sampler states for object shaders

- [setObjectSamplerState(_:index:)](metal/mtlrendercommandencoder/setobjectsamplerstate(_:index:).md)
- [setObjectSamplerState(_:lodMinClamp:lodMaxClamp:index:)](metal/mtlrendercommandencoder/setobjectsamplerstate(_:lodminclamp:lodmaxclamp:index:).md)
- [setObjectSamplerStates(_:range:)](metal/mtlrendercommandencoder/setobjectsamplerstates(_:range:).md)
- [setObjectSamplerStates(_:lodMinClamps:lodMaxClamps:range:)](metal/mtlrendercommandencoder/setobjectsamplerstates(_:lodminclamps:lodmaxclamps:range:).md)

### Assigning buffers for mesh shaders

- [setMeshBuffer(_:offset:index:)](metal/mtlrendercommandencoder/setmeshbuffer(_:offset:index:).md)
- [setMeshBuffers(_:offsets:range:)](metal/mtlrendercommandencoder/setmeshbuffers(_:offsets:range:).md)
- [setMeshBytes(_:length:index:)](metal/mtlrendercommandencoder/setmeshbytes(_:length:index:).md)
- [setMeshBufferOffset(_:index:)](metal/mtlrendercommandencoder/setmeshbufferoffset(_:index:).md)

### Assigning textures for mesh shaders

- [setMeshTexture(_:index:)](metal/mtlrendercommandencoder/setmeshtexture(_:index:).md)
- [setMeshTextures(_:range:)](metal/mtlrendercommandencoder/setmeshtextures(_:range:).md)

### Assigning sampler states for mesh shaders

- [setMeshSamplerState(_:index:)](metal/mtlrendercommandencoder/setmeshsamplerstate(_:index:).md)
- [setMeshSamplerState(_:lodMinClamp:lodMaxClamp:index:)](metal/mtlrendercommandencoder/setmeshsamplerstate(_:lodminclamp:lodmaxclamp:index:).md)
- [setMeshSamplerStates(_:range:)](metal/mtlrendercommandencoder/setmeshsamplerstates(_:range:).md)
- [setMeshSamplerStates(_:lodMinClamps:lodMaxClamps:range:)](metal/mtlrendercommandencoder/setmeshsamplerstates(_:lodminclamps:lodmaxclamps:range:).md)

## See Also

### Resource preparation commands

- [Vertex shader resource preparation commands](metal/vertex-shader-resource-preparation-commands.md)
- [Fragment shader resource preparation commands](metal/fragment-shader-resource-preparation-commands.md)
- [Tile shaders resource preparation commands](metal/tile-shaders-resource-preparation-commands.md)
- [Argument buffer resource preparation commands](metal/argument-buffer-resource-preparation-commands.md)
