<!--
{
  "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-Procedural/Noise-2D",
  "metadataVersion" : "0.1.0",
  "role" : "ShaderGraph Node",
  "symbol" : {
    "kind" : "ShaderGraph Node",
    "modules" : [
      "ShaderGraph"
    ],
    "preciseIdentifier" : "Shader_ND_noise2d_float"
  },
  "title" : "Noise 2D"
}
-->

# Noise 2D

A 2D Perlin noise generator.

## Parameter Types

**Noise 2D (float):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type |
                |------|-----|
                |`Out` |Float|

**Noise 2D (vector4f FA):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type    |
                |------|--------|
                |`Out` |Vector4f|

**Noise 2D (vector4f):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Vector4f|
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type    |
                |------|--------|
                |`Out` |Vector4f|

**Noise 2D (vector3f):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Vector3f|
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type    |
                |------|--------|
                |`Out` |Vector3f|

**Noise 2D (color3f FA):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type         |
                |------|-------------|
                |`Out` |Color3<Float>|

**Noise 2D (vector2f FA):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

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

**Noise 2D (vector2f):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Vector2f|
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

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

**Noise 2D (color4f FA):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type         |
                |------|-------------|
                |`Out` |Color4<Float>|

**Noise 2D (color4f):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Vector4f|
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type         |
                |------|-------------|
                |`Out` |Color4<Float>|

**Noise 2D (color3f):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Vector3f|
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type         |
                |------|-------------|
                |`Out` |Color3<Float>|

**Noise 2D (vector3f FA):**

|Input                |Type    |
                |---------------------|--------|
                |`Amplitude`          |Float   |
                |`Pivot`              |Float   |
                |`Texture Coordinates`|Vector2f|

|Output|Type    |
                |------|--------|
                |`Out` |Vector3f|

## Parameter descriptions

- `Amplitude`: The intensity of the generated noise. The higher the amplitude, the more pronounced the variations of the noise pattern.
- `Pivot`: The neutral value of the noise. This value is the noise’s minimum value, and is added to the output after the output is multiplied by the amplitude.
- `Texture Coordinates`: The 2D coordinate at which the data is read in order to map the texture onto a surface. The default is to use the current *UV* coordinates, in which *U* is the horizontal axis and *V* is the vertical axis.

## Discussion

The Noise 2D shader node procedurally generates Perlin noise patterns that you can use to add texture and variation to materials. All noise values that are procedurally generated are numbers between `0` and `1` before the amplitude and pivot are applied.
Below is an example of a simple node graph that uses the Noise 2D Node to generate a black and white pattern procedurally:

Image(source: “Noise2dGraph”)

Multiply the incoming texture coordinates with a constant float. The float changes the frequency of the generated noise to a higher number that corresponds with the pattern repeating more often.
Below, the resulting texture applies to a cube:

![](images/ShaderGraph-Docs/Noise2dMaterial~dark.png)

---

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)