<!--
{
  "availability" : [
    "iOS: 26.4.0 -",
    "iPadOS: 26.4.0 -",
    "macCatalyst: 26.4.0 -",
    "macOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ImmersiveMediaSupport",
  "identifier" : "/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Immersive Media Support"
    ],
    "preciseIdentifier" : "s:21ImmersiveMediaSupport0A11DynamicMaskV"
  },
  "title" : "ImmersiveDynamicMask"
}
-->

# ImmersiveDynamicMask

A type that holds the information required to dynamically generate an immersive media mask at load time.

```
struct ImmersiveDynamicMask
```

## Overview

Immersive media dynamic masks are generated by interpolating a set of control points or sample points on the surface of a unit sphere.

## Topics

### Initializers

### Instance Properties

[`var controlPointInterpolation: ImmersiveDynamicMask.ControlPointInterpolation`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/controlPointInterpolation-swift.property)

Type of the interpolation method used while processing control points.

[`var edgeTreatment: ImmersiveDynamicMask.EdgeTreatment`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/edgeTreatment-swift.property)

The edge treatment type used for the immersive media mask.

[`var edgeWidthInDegrees: Float`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/edgeWidthInDegrees)

The edge width in degrees used for the dynamic mask generation.

[`var leftControlPoints: [Point3DFloat]`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/leftControlPoints)

The left eye control points.

[`var name: String`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/name)

A unique name string of the dynamic mask.

[`var rightControlPoints: [Point3DFloat]`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/rightControlPoints)

The right eye control points.

### Instance Methods

### Enumerations

[`enum ControlPointInterpolation`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/ControlPointInterpolation-swift.enum)

A value that represents the interpolation method used while processing the control points.

### Initializers

[`init(name: String, stereoRelation: ImmersiveDynamicMask.StereoRelation, edgeTreatment: ImmersiveDynamicMask.EdgeTreatment, controlPointInterpolation: ImmersiveDynamicMask.ControlPointInterpolation, leftControlPoints: [Point3DFloat], rightControlPoints: [Point3DFloat], edgeWidthInDegrees: Float)`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/init(name:stereoRelation:edgeTreatment:controlPointInterpolation:leftControlPoints:rightControlPoints:edgeWidthInDegrees:))

### Instance Properties

[`var stereoRelation: ImmersiveDynamicMask.StereoRelation`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/stereoRelation-swift.property)

Represents how the left eye mask relates to the right eye mask.

### Enumerations

[`enum EdgeTreatment`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/EdgeTreatment-swift.enum)

A value that represents an edge treatment type for the immersive media mask.

[`enum StereoRelation`](/documentation/ImmersiveMediaSupport/ImmersiveDynamicMask/StereoRelation-swift.enum)

A value that determines how the left mask relates to the right, or vice versa.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`Encodable`](/documentation/Swift/Encodable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Decodable`](/documentation/Swift/Decodable)

---

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)