---
title: "init(vectorNoiseWithSmoothness:name:textureDimensions:channelEncoding:)"
framework: modelio
role: symbol
role_heading: Initializer
path: "modelio/mdlnoisetexture/init(vectornoisewithsmoothness:name:texturedimensions:channelencoding:)"
---

# init(vectorNoiseWithSmoothness:name:textureDimensions:channelEncoding:)

Initializes a noise texture that creates random directional noise.

## Declaration

```swift
init(vectorNoiseWithSmoothness smoothness: Float, name: String?, textureDimensions: vector_int2, channelEncoding: MDLTextureChannelEncoding)
```

## Parameters

- `smoothness`: A value that indicates how similar neighboring texels will be in the resulting texture. The value should be between 0.0 and 1.0. A value of 1.0 generates a smooth surface.
- `name`: The doc://com.apple.modelio/documentation/ModelIO/MDLNamed/name property for the new texture object.
- `textureDimensions`: The texel dimensions (width and height) of the texture image.
- `channelEncoding`: The data format for each channel value per texel—for example, 8-bit integer or 32-bit floating point. For possible values, see doc://com.apple.modelio/documentation/ModelIO/MDLTextureChannelEncoding.

## Return Value

Return Value A new directional noise texture object.

## Discussion

Discussion Unlike a color noise texture, in which the RGBA channels are independently randomized, a directional noise texture treats each texel’s RGB channels together as the XYZ components of a random direction vector, and the A channel as a scalar for the vector’s direction. This initializer does not generate texel data; the MDLNoiseTexture class automatically generates data and caches it for reuse when you use one of the MDLTexture methods listed in Accessing Texture Data.

## See Also

### Creating a Noise Texture

- [init(scalarNoiseWithSmoothness:name:textureDimensions:channelCount:channelEncoding:grayscale:)](modelio/mdlnoisetexture/init(scalarnoisewithsmoothness:name:texturedimensions:channelcount:channelencoding:grayscale:).md)
