---
title: MTLPrimitiveType
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlprimitivetype
---

# MTLPrimitiveType

The geometric primitive type for drawing commands.

## Declaration

```swift
enum MTLPrimitiveType
```

## Topics

### Geometric primitive types

- [MTLPrimitiveType.point](metal/mtlprimitivetype/point.md)
- [MTLPrimitiveType.line](metal/mtlprimitivetype/line.md)
- [MTLPrimitiveType.lineStrip](metal/mtlprimitivetype/linestrip.md)
- [MTLPrimitiveType.triangle](metal/mtlprimitivetype/triangle.md)
- [MTLPrimitiveType.triangleStrip](metal/mtlprimitivetype/trianglestrip.md)

### Initializers

- [init(rawValue:)](metal/mtlprimitivetype/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Encoding a render pass

- [MTL4RenderCommandEncoder](metal/mtl4rendercommandencoder.md)
- [MTLRenderCommandEncoder](metal/mtlrendercommandencoder.md)
- [MTL4RenderEncoderOptions](metal/mtl4renderencoderoptions.md)
- [MTLTriangleFillMode](metal/mtltrianglefillmode.md)
- [MTLWinding](metal/mtlwinding.md)
- [MTLCullMode](metal/mtlcullmode.md)
- [MTLIndexType](metal/mtlindextype.md)
- [MTLDepthClipMode](metal/mtldepthclipmode.md)
- [MTLVisibilityResultMode](metal/mtlvisibilityresultmode.md)
- [MTLVisibilityResultType](metal/mtlvisibilityresulttype.md)
