---
title: MTLAccelerationStructureGeometryDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtlaccelerationstructuregeometrydescriptor
---

# MTLAccelerationStructureGeometryDescriptor

A base class for descriptors that contain geometry data to convert into a ray-tracing acceleration structure.

## Declaration

```swift
class MTLAccelerationStructureGeometryDescriptor
```

## Mentioned in

Improving ray-tracing data access using per-primitive data

## Overview

Overview Don’t use this base class directly. Use one of the derived classes instead, as  MTLAccelerationStructure describes.

## Topics

### Specifying base geometry properties

- [label](metal/mtlaccelerationstructuregeometrydescriptor/label.md)
- [intersectionFunctionTableOffset](metal/mtlaccelerationstructuregeometrydescriptor/intersectionfunctiontableoffset.md)
- [opaque](metal/mtlaccelerationstructuregeometrydescriptor/opaque.md)
- [allowDuplicateIntersectionFunctionInvocation](metal/mtlaccelerationstructuregeometrydescriptor/allowduplicateintersectionfunctioninvocation.md)

### Instance Properties

- [primitiveDataBuffer](metal/mtlaccelerationstructuregeometrydescriptor/primitivedatabuffer.md)
- [primitiveDataBufferOffset](metal/mtlaccelerationstructuregeometrydescriptor/primitivedatabufferoffset.md)
- [primitiveDataElementSize](metal/mtlaccelerationstructuregeometrydescriptor/primitivedataelementsize.md)
- [primitiveDataStride](metal/mtlaccelerationstructuregeometrydescriptor/primitivedatastride.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [MTLAccelerationStructureBoundingBoxGeometryDescriptor](metal/mtlaccelerationstructureboundingboxgeometrydescriptor.md)
- [MTLAccelerationStructureCurveGeometryDescriptor](metal/mtlaccelerationstructurecurvegeometrydescriptor.md)
- [MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor](metal/mtlaccelerationstructuremotionboundingboxgeometrydescriptor.md)
- [MTLAccelerationStructureMotionCurveGeometryDescriptor](metal/mtlaccelerationstructuremotioncurvegeometrydescriptor.md)
- [MTLAccelerationStructureMotionTriangleGeometryDescriptor](metal/mtlaccelerationstructuremotiontrianglegeometrydescriptor.md)
- [MTLAccelerationStructureTriangleGeometryDescriptor](metal/mtlaccelerationstructuretrianglegeometrydescriptor.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Related Documentation

- [MTLAccelerationStructureMotionTriangleGeometryDescriptor](metal/mtlaccelerationstructuremotiontrianglegeometrydescriptor.md)
- [MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor](metal/mtlaccelerationstructuremotionboundingboxgeometrydescriptor.md)

### Geometry descriptors

- [MTL4AccelerationStructureGeometryDescriptor](metal/mtl4accelerationstructuregeometrydescriptor.md)
- [MTL4AccelerationStructureTriangleGeometryDescriptor](metal/mtl4accelerationstructuretrianglegeometrydescriptor.md)
- [MTLAccelerationStructureTriangleGeometryDescriptor](metal/mtlaccelerationstructuretrianglegeometrydescriptor.md)
- [MTL4AccelerationStructureCurveGeometryDescriptor](metal/mtl4accelerationstructurecurvegeometrydescriptor.md)
- [MTLAccelerationStructureCurveGeometryDescriptor](metal/mtlaccelerationstructurecurvegeometrydescriptor.md)
- [MTLCurveType](metal/mtlcurvetype.md)
- [MTLCurveBasis](metal/mtlcurvebasis.md)
- [MTLCurveEndCaps](metal/mtlcurveendcaps.md)
- [MTL4AccelerationStructureBoundingBoxGeometryDescriptor](metal/mtl4accelerationstructureboundingboxgeometrydescriptor.md)
- [MTLAccelerationStructureBoundingBoxGeometryDescriptor](metal/mtlaccelerationstructureboundingboxgeometrydescriptor.md)
