---
title: "setIntersectionFunctionTables(_:bufferRange:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtlcomputecommandencoder/setintersectionfunctiontables(_:bufferrange:)"
---

# setIntersectionFunctionTables(_:bufferRange:)

Binds multiple intersection function tables to the buffer argument table, allowing you to call their functions on the GPU.

## Declaration

```swift
func setIntersectionFunctionTables(_ intersectionFunctionTables: [(any MTLIntersectionFunctionTable)?], bufferRange: Range<Int>)
```

## Parameters

- `intersectionFunctionTables`: An array of doc://com.apple.metal/documentation/Metal/MTLIntersectionFunctionTable instances to bind.
- `bufferRange`: The argument buffer table indices to bind each of the intersectionFunctionTables to, in the order they appear.

## Discussion

Discussion warning: This method requires that the number of instances in visibleFunctionTables be the same as the length of bufferRange.

## See Also

### Binding function tables

- [setVisibleFunctionTable(_:bufferIndex:)](metal/mtlcomputecommandencoder/setvisiblefunctiontable(_:bufferindex:).md)
- [setVisibleFunctionTables(_:bufferRange:)](metal/mtlcomputecommandencoder/setvisiblefunctiontables(_:bufferrange:).md)
