---
title: "newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtltexture/newtextureviewwithpixelformat:texturetype:levels:slices:swizzle:"
---

# newTextureViewWithPixelFormat: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

```occ
- (id<MTLTexture>) newTextureViewWithPixelFormat:(MTLPixelFormat) pixelFormat textureType:(MTLTextureType) textureType levels:(NSRange) levelRange slices:(NSRange) sliceRange swizzle:(MTLTextureSwizzleChannels) swizzle;
```

## 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.

## Return Value

Return Value A new texture view.

## Discussion

Discussion For more information on texture views, see newTextureViewWithPixelFormat: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)
- [newTextureViewWithPixelFormat:textureType:levels:slices:](metal/mtltexture/newtextureviewwithpixelformat:texturetype:levels:slices:.md)
