---
title: "init(transformationMatrix:options:mask:intersectionFunctionTableOffset:accelerationStructureIndex:)"
framework: metal
role: symbol
role_heading: Initializer
path: "metal/mtlaccelerationstructureinstancedescriptor/init(transformationmatrix:options:mask:intersectionfunctiontableoffset:accelerationstructureindex:)"
---

# init(transformationMatrix:options:mask:intersectionFunctionTableOffset:accelerationStructureIndex:)

Creates a new acceleration structure instance.

## Declaration

```swift
init(transformationMatrix: MTLPackedFloat4x3, options: MTLAccelerationStructureInstanceOptions, mask: UInt32, intersectionFunctionTableOffset: UInt32, accelerationStructureIndex: UInt32)
```

## Parameters

- `transformationMatrix`: The transform for placing and orienting the instance in the scene.
- `options`: The options for this instance.
- `mask`: A mask to use for this instance when testing a ray against the geometry.
- `intersectionFunctionTableOffset`: An offset to apply to the intersection function table when testing a ray against this instance.
- `accelerationStructureIndex`: The index of the acceleration structure to use for this instance.

## See Also

### Creating an instance descriptor

- [init()](metal/mtlaccelerationstructureinstancedescriptor/init().md)
