<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLTextureType",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLTextureType"
  },
  "title" : "MTLTextureType"
}
-->

# MTLTextureType

The dimension of each image, including whether multiple images are arranged into an array or a cube.

```
enum MTLTextureType
```

## Overview

For a `MTLTextureTypeCube` texture, the property values describe one slice, which is any one of its six sides. For example, [`mipmapLevelCount`](/documentation/Metal/MTLTexture/mipmapLevelCount) is the number of mipmap levels for one slice, not the total sum of mipmap levels in six slices. By definition, the [`width`](/documentation/Metal/MTLTexture/width) and [`height`](/documentation/Metal/MTLTexture/height) of a cube texture are the same value.

Each slice of a cube texture maps to a side with a specific orientation.

|Slice index|Slice orientation|
|-----------|-----------------|
|0          |+X               |
|1          |-X               |
|2          |+Y               |
|3          |-Y               |
|4          |+Z               |
|5          |-Z               |

## Topics

### Specifying the texture type

[`MTLTextureType.type1D`](/documentation/Metal/MTLTextureType/type1D)

A one-dimensional texture image.

[`MTLTextureType.type1DArray`](/documentation/Metal/MTLTextureType/type1DArray)

An array of one-dimensional texture images.

[`MTLTextureType.type2D`](/documentation/Metal/MTLTextureType/type2D)

A two-dimensional texture image.

[`MTLTextureType.type2DArray`](/documentation/Metal/MTLTextureType/type2DArray)

An array of two-dimensional texture images.

[`MTLTextureType.type2DMultisample`](/documentation/Metal/MTLTextureType/type2DMultisample)

A two-dimensional texture image that uses more than one sample for each pixel.

[`MTLTextureType.typeCube`](/documentation/Metal/MTLTextureType/typeCube)

A cube texture with six two-dimensional images.

[`MTLTextureType.typeCubeArray`](/documentation/Metal/MTLTextureType/typeCubeArray)

An array of cube textures, each with six two-dimensional images.

[`MTLTextureType.type3D`](/documentation/Metal/MTLTextureType/type3D)

A three-dimensional texture image.

[`MTLTextureType.type2DMultisampleArray`](/documentation/Metal/MTLTextureType/type2DMultisampleArray)

An array of two-dimensional texture images that use more than one sample for each pixel.

[`MTLTextureType.typeTextureBuffer`](/documentation/Metal/MTLTextureType/typeTextureBuffer)

A texture buffer.



---

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)