---
title: MTLIntersectionFunctionSignature
framework: metal
role: symbol
role_heading: Structure
path: metal/mtlintersectionfunctionsignature
---

# MTLIntersectionFunctionSignature

Constants for specifying different types of custom intersection functions.

## Declaration

```swift
struct MTLIntersectionFunctionSignature
```

## Overview

Overview For more information on declaring intersection functions in MSL, see Metal Shading Language Specification.

## Topics

### Initializing the intersection function signature

- [init(rawValue:)](metal/mtlintersectionfunctionsignature/init(rawvalue:).md)

### Specifying the intersection function signature

- [instancing](metal/mtlintersectionfunctionsignature/instancing.md)
- [triangleData](metal/mtlintersectionfunctionsignature/triangledata.md)
- [worldSpaceData](metal/mtlintersectionfunctionsignature/worldspacedata.md)

### Type Properties

- [curveData](metal/mtlintersectionfunctionsignature/curvedata.md)
- [extendedLimits](metal/mtlintersectionfunctionsignature/extendedlimits.md)
- [instanceMotion](metal/mtlintersectionfunctionsignature/instancemotion.md)
- [intersectionFunctionBuffer](metal/mtlintersectionfunctionsignature/intersectionfunctionbuffer.md)
- [maxLevels](metal/mtlintersectionfunctionsignature/maxlevels.md)
- [primitiveMotion](metal/mtlintersectionfunctionsignature/primitivemotion.md)
- [userData](metal/mtlintersectionfunctionsignature/userdata.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Intersection function tables

- [MTLIntersectionFunctionTable](metal/mtlintersectionfunctiontable.md)
- [MTLIntersectionFunctionTableDescriptor](metal/mtlintersectionfunctiontabledescriptor.md)
- [MTLIntersectionFunctionDescriptor](metal/mtlintersectionfunctiondescriptor.md)
- [MTLIntersectionFunctionBufferArguments](metal/mtlintersectionfunctionbufferarguments.md)
