<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ShaderGraph-Docs",
  "identifier" : "/documentation/ShaderGraph/2D-Texture/Transform-2D",
  "metadataVersion" : "0.1.0",
  "role" : "ShaderGraph Node",
  "symbol" : {
    "kind" : "ShaderGraph Node",
    "modules" : [
      "ShaderGraph"
    ],
    "preciseIdentifier" : "Shader_ND_UsdTransform2d"
  },
  "title" : "Transform 2D"
}
-->

# Transform 2D

A node that applies an affine transformation to a 2d input.

## Parameter Types

|Input        |Type    |
        |-------------|--------|
        |`In`         |Vector2f|
        |`Rotation`   |Float   |
        |`Scale`      |Vector2f|
        |`Translation`|Vector2f|

|Output|Type    |
        |------|--------|
        |`Out` |Vector2f|

## Parameter descriptions

- `In`: The vector to transform. This node appends an addtional component onto the `In` vector with a value of `1.0` to make the vector match the dimensions of the `Mat` matrix. When transformation is complete, this additional component clears.
- `Rotation`: The degrees of counter-clockwise rotation to apply to the input.
- `Scale`: The scale to apply to the input. This parameter stretches the input by the given magnitude.
- `Translation`: The translation to apply to the input. A translation moves the input in the given directions.

## Discussion

The `Transform 2D` node takes a 2D vector as an input, applies the given rotation, scale, and translation, then outputs the transformed vector.

---

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)