---
title: "makeTextureView(pixelFormat:textureType:levels:slices:swizzle:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtltexture/maketextureview(pixelformat:texturetype:levels:slices:swizzle:)"
---

# makeTextureView(pixelFormat:textureType:levels:slices:swizzle:)

Creates a new view of the texture, reinterpreting a subset of its data using a different type, pixel format, and swizzle pattern.

## Declaration

```swift
func makeTextureView(pixelFormat: MTLPixelFormat, textureType: MTLTextureType, levels levelRange: Range<Int>, slices sliceRange: Range<Int>, swizzle: MTLTextureSwizzleChannels) -> (any MTLTexture)?
```

## Parameters

- `pixelFormat`: A new pixel format, which needs to be compatible with the original pixel format.
- `textureType`: A new texture type.
- `levelRange`: A new base level range that restricts which mipmap levels are visible in the new texture.
- `sliceRange`: A new base slice range that restricts which array slices are visible in the new texture.
- `swizzle`: The swizzle pattern the GPU uses to reorder the data when sampling or reading the texture.

## Discussion

Discussion For more information on texture views, see makeTextureView(pixelFormat:textureType:levels:slices:) The swizzle pattern of the view is combined with that of the parent texture to generate the final swizzle pattern. For example: An [R,G,A,B] swizzle of a texture with a [R,1,1,G] swizzle pattern is [R,1,G,1].

## See Also

### Creating textures by reinterpreting existing texture data

- [makeTextureView(pixelFormat:)](metal/mtltexture/maketextureview(pixelformat:).md)
- [makeTextureView(pixelFormat:textureType:levels:slices:)](metal/mtltexture/maketextureview(pixelformat:texturetype:levels:slices:).md)
