<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLAccelerationStructureUserIDInstanceDescriptor/intersectionFunctionTableOffset",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@SA@MTLAccelerationStructureUserIDInstanceDescriptor@FI@intersectionFunctionTableOffset"
  },
  "title" : "intersectionFunctionTableOffset"
}
-->

# intersectionFunctionTableOffset

An offset for determining which function in the intersection function table Metal calls when testing a ray against the instance.

```
var intersectionFunctionTableOffset: UInt32
```

## Discussion

By default, after Metal finds an intersection between a ray and a primitive, it runs your specified intersection function to determine whether the ray actually hit the primitive. To determine which function in the intersection table to call, Metal adds this property to the value in the instance’s [`intersectionFunctionTableOffset`](/documentation/Metal/MTLAccelerationStructureGeometryDescriptor/intersectionFunctionTableOffset), and looks up the entry at that index.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)