<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/LowLevelDeformation",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:22RealityCoreDeformation08LowLevelC0C"
  },
  "title" : "LowLevelDeformation"
}
-->

# LowLevelDeformation

An object that encodes blend-shape, skinning, and renormalization passes into a Metal compute
command encoder.

```
final class LowLevelDeformation
```

## Topics

### Creating a deformation

[`let descriptor: LowLevelDeformation.Descriptor`](/documentation/RealityKit/LowLevelDeformation/descriptor-swift.property)

The descriptor used to create this deformation.

[`struct Descriptor`](/documentation/RealityKit/LowLevelDeformation/Descriptor-swift.struct)

An object that describes the per-frame data requirements for a [`LowLevelDeformation`](/documentation/RealityKit/LowLevelDeformation).

### Accessing mesh data

[`var input: LowLevelDeformation.Mesh`](/documentation/RealityKit/LowLevelDeformation/input)

The input vertex data for this deformation.

[`var output: LowLevelDeformation.Mesh`](/documentation/RealityKit/LowLevelDeformation/output)

The output vertex data for this deformation.

[`struct Mesh`](/documentation/RealityKit/LowLevelDeformation/Mesh)

A handle to the input or output vertex data of a [`LowLevelDeformation`](/documentation/RealityKit/LowLevelDeformation).

[`var vertexCount: Int`](/documentation/RealityKit/LowLevelDeformation/vertexCount)

The number of vertices in the mesh.

[`enum VertexSemantic`](/documentation/RealityKit/LowLevelDeformation/VertexSemantic)

Designates the intended usage of a vertex attribute.

[`struct VertexAttribute`](/documentation/RealityKit/LowLevelDeformation/VertexAttribute)

An object that describes the format and stride of a single vertex attribute.

### Configuring deformation stages

[`var skinning: LowLevelDeformation.Skinning`](/documentation/RealityKit/LowLevelDeformation/skinning-swift.property)

The skinning data accessors for this deformation.

[`struct Skinning`](/documentation/RealityKit/LowLevelDeformation/Skinning-swift.struct)

An accessor for the skinning buffers of a [`LowLevelDeformation`](/documentation/RealityKit/LowLevelDeformation).

### Encoding deformation work

[`func encode(into: any MTLComputeCommandEncoder) throws`](/documentation/RealityKit/LowLevelDeformation/encode(into:))

Encodes the configured deformation passes into the given command encoder.

[`class Pipeline`](/documentation/RealityKit/LowLevelDeformation/Pipeline)

A compiled compute pipeline for a specific combination of mesh layouts and deformer stages.

[`struct Error`](/documentation/RealityKit/LowLevelDeformation/Error)

The error type thrown by every throwing method and initializer.

### Structures

[`struct BlendShape`](/documentation/RealityKit/LowLevelDeformation/BlendShape-swift.struct)

An accessor for the blend-shape buffers of a [`LowLevelDeformation`](/documentation/RealityKit/LowLevelDeformation).

[`struct Renormalization`](/documentation/RealityKit/LowLevelDeformation/Renormalization-swift.struct)

An accessor for the renormalization buffers of a [`LowLevelDeformation`](/documentation/RealityKit/LowLevelDeformation).

### Instance Properties

[`var blendShape: LowLevelDeformation.BlendShape`](/documentation/RealityKit/LowLevelDeformation/blendShape-swift.property)

The blend-shape data accessors for this deformation.

[`var renormalization: LowLevelDeformation.Renormalization`](/documentation/RealityKit/LowLevelDeformation/renormalization-swift.property)

The renormalization data accessors for this deformation.

---

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)