---
title: Fragment shader resource preparation commands
framework: metal
role: collectionGroup
role_heading: API Collection
path: metal/fragment-shader-resource-preparation-commands
---

# Fragment shader resource preparation commands

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

## Overview

Overview Fragment shaders share argument tables for each resource type, such as buffers, textures, and sampler states. Each shader type has its own argument tables, separate from fragment shaders and other shader types.

## Topics

### Assigning buffers

- [setFragmentBuffer(_:offset:index:)](metal/mtlrendercommandencoder/setfragmentbuffer(_:offset:index:).md)
- [setFragmentBuffers(_:offsets:range:)](metal/mtlrendercommandencoder/setfragmentbuffers(_:offsets:range:).md)
- [setFragmentBytes(_:length:index:)](metal/mtlrendercommandencoder/setfragmentbytes(_:length:index:).md)
- [setFragmentBufferOffset(_:index:)](metal/mtlrendercommandencoder/setfragmentbufferoffset(_:index:).md)

### Assigning textures

- [setFragmentTexture(_:index:)](metal/mtlrendercommandencoder/setfragmenttexture(_:index:).md)
- [setFragmentTextures(_:range:)](metal/mtlrendercommandencoder/setfragmenttextures(_:range:).md)

### Assigning sampler states

- [setFragmentSamplerState(_:index:)](metal/mtlrendercommandencoder/setfragmentsamplerstate(_:index:).md)
- [setFragmentSamplerState(_:lodMinClamp:lodMaxClamp:index:)](metal/mtlrendercommandencoder/setfragmentsamplerstate(_:lodminclamp:lodmaxclamp:index:).md)
- [setFragmentSamplerStates(_:range:)](metal/mtlrendercommandencoder/setfragmentsamplerstates(_:range:).md)
- [setFragmentSamplerStates(_:lodMinClamps:lodMaxClamps:range:)](metal/mtlrendercommandencoder/setfragmentsamplerstates(_:lodminclamps:lodmaxclamps:range:).md)

### Assigning acceleration structures

- [setFragmentAccelerationStructure(_:bufferIndex:)](metal/mtlrendercommandencoder/setfragmentaccelerationstructure(_:bufferindex:).md)

### Assigning visible function tables

- [setFragmentVisibleFunctionTable(_:bufferIndex:)](metal/mtlrendercommandencoder/setfragmentvisiblefunctiontable(_:bufferindex:).md)
- [setFragmentVisibleFunctionTables(_:bufferRange:)](metal/mtlrendercommandencoder/setfragmentvisiblefunctiontables(_:bufferrange:).md)

### Assigning intersection function tables

- [setFragmentIntersectionFunctionTable(_:bufferIndex:)](metal/mtlrendercommandencoder/setfragmentintersectionfunctiontable(_:bufferindex:).md)
- [setFragmentIntersectionFunctionTables(_:bufferRange:)](metal/mtlrendercommandencoder/setfragmentintersectionfunctiontables(_:bufferrange:).md)

## See Also

### Resource preparation commands

- [Mesh and object shader resource preparation commands](metal/mesh-and-object-shader-resource-preparation-commands.md)
- [Vertex shader resource preparation commands](metal/vertex-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)
