<!--
{
  "documentType" : "article",
  "framework" : "MetalPerformanceShaders",
  "identifier" : "/documentation/MetalPerformanceShaders/metalperformanceshaders-structures",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "MetalPerformanceShaders Structures"
}
-->

# MetalPerformanceShaders Structures

## Topics

### Structures

[`MPSAxisAlignedBoundingBox`](/documentation/MetalPerformanceShaders/MPSAxisAlignedBoundingBox-c.struct)

An axis-aligned bounding box.

[`MPSCustomKernelArgumentCount`](/documentation/MetalPerformanceShaders/MPSCustomKernelArgumentCount)

A structure that contains the number of destination, source, and broadcaset textures used by a custom kernel.

[`MPSCustomKernelInfo`](/documentation/MetalPerformanceShaders/MPSCustomKernelInfo)

[`MPSCustomKernelSourceInfo`](/documentation/MetalPerformanceShaders/MPSCustomKernelSourceInfo)

[`MPSDimensionSlice`](/documentation/MetalPerformanceShaders/MPSDimensionSlice)

[`MPSImageCoordinate`](/documentation/MetalPerformanceShaders/MPSImageCoordinate)

[`MPSImageRegion`](/documentation/MetalPerformanceShaders/MPSImageRegion)

[`MPSIntegerDivisionParams`](/documentation/MetalPerformanceShaders/MPSIntegerDivisionParams)

Parameters that define the parts of a division operation.

[`MPSIntersectionDistance`](/documentation/MetalPerformanceShaders/MPSIntersectionDistance)

An intersection result that contains the distance from the ray origin to the intersection point.

[`MPSIntersectionDistancePrimitiveIndex`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndex)

An intersection result that contains the distance from the ray origin to the intersection point, and the index of the intersected primitive.

[`MPSIntersectionDistancePrimitiveIndexBufferIndex`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexBufferIndex)

[`MPSIntersectionDistancePrimitiveIndexBufferIndexCoordinates`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexBufferIndexCoordinates)

[`MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex)

[`MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndexCoordinates`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndexCoordinates)

[`MPSIntersectionDistancePrimitiveIndexCoordinates`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexCoordinates)

An intersection result that contains the origin-intersection distance, intersected primitive index, and intersection point coordinates.

[`MPSIntersectionDistancePrimitiveIndexInstanceIndex`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexInstanceIndex)

An intersection result that contains the origin-intersection distance, and intersected primitive and instance indices.

[`MPSIntersectionDistancePrimitiveIndexInstanceIndexCoordinates`](/documentation/MetalPerformanceShaders/MPSIntersectionDistancePrimitiveIndexInstanceIndexCoordinates)

An intersection result that contains the origin-intersection distance, intersected primitive and instance indices, and intersection point coordinates.

[`MPSMatrixCopyOffsets`](/documentation/MetalPerformanceShaders/MPSMatrixCopyOffsets)

A description of matrix copy operations.

[`MPSMatrixOffset`](/documentation/MetalPerformanceShaders/MPSMatrixOffset)

A description of row and column offsets into a matrix.

[`MPSNDArrayOffsets`](/documentation/MetalPerformanceShaders/MPSNDArrayOffsets)

[`MPSNDArraySizes`](/documentation/MetalPerformanceShaders/MPSNDArraySizes)

[`MPSPackedFloat3`](/documentation/MetalPerformanceShaders/MPSPackedFloat3-c.struct)

A packed three-element vector.

[`MPSRayOriginDirection`](/documentation/MetalPerformanceShaders/MPSRayOriginDirection)

A 3D ray with an origin and a direction.

[`MPSRayOriginMaskDirectionMaxDistance`](/documentation/MetalPerformanceShaders/MPSRayOriginMaskDirectionMaxDistance)

A 3D ray with an origin, a direction, and a mask to filter out intersections.

[`MPSRayOriginMinDistanceDirectionMaxDistance`](/documentation/MetalPerformanceShaders/MPSRayOriginMinDistanceDirectionMaxDistance)

A 3D ray with an origin, a direction, and an intersection distance range from the origin.

[`MPSRayPackedOriginDirection`](/documentation/MetalPerformanceShaders/MPSRayPackedOriginDirection)

[`MPSStateTextureInfo`](/documentation/MetalPerformanceShaders/MPSStateTextureInfo)

An encapsulation of a texture’s dimensions, format, type, and usage.



---

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)