Instance Method

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

Creates a new texture object that shares the texture's storage allocation, reinterpreting the texture image data with a different pixel format and sampling pattern.

Declaration

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

Parameters

pixelFormat

A new pixel format, which must be compatible with the original pixel format.

textureType

A new texture type.

levels

A new base level range that restricts which mipmap levels are visible in the new texture.

slices

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

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 Reusing Image Data

func makeTextureView(pixelFormat: MTLPixelFormat) -> MTLTexture?

Creates a new texture object that shares the texture's storage allocation, reinterpreting the data using a different pixel format.

Required.

func makeTextureView(pixelFormat: MTLPixelFormat, textureType: MTLTextureType, levels: Range<Int>, slices: Range<Int>) -> MTLTexture?

Creates a new texture object that shares the texture's storage allocation, reinterpreting the texture image data with a different pixel format.