<!--
{
  "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/MTLAccelerationStructureMotionInstanceDescriptor/intersectionFunctionTableOffset",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@SA@MTLAccelerationStructureMotionInstanceDescriptor@FI@intersectionFunctionTableOffset"
  },
  "title" : "intersectionFunctionTableOffset"
}
-->

# intersectionFunctionTableOffset

An offset into the intersection-function table for ray tracing,
which applies to the next acceleration-structure motion instance you create
with the descriptor.

```
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 specified 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)