---
title: MTLRasterizationRateMapDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtlrasterizationratemapdescriptor
---

# MTLRasterizationRateMapDescriptor

An object that you use to configure new rasterization rate maps.

## Declaration

```swift
class MTLRasterizationRateMapDescriptor
```

## Overview

Overview To create a new rate map, first create an MTLRasterizationRateMapDescriptor instance and set its property values. Then, create a new rasterization rate-map by calling an MTLDevice instance’s makeRasterizationRateMap(descriptor:) method. When creating a rate map, Metal copies into it property values from the descriptor. You can reuse a descrptor by modifying its property values, which doesn’t affect the other rate-map instances that already exist.

## Topics

### Creating rate map descriptors

- [init(screenSize:label:)](metal/mtlrasterizationratemapdescriptor/init(screensize:label:).md)
- [init(screenSize:layer:label:)](metal/mtlrasterizationratemapdescriptor/init(screensize:layer:label:).md)
- [init(screenSize:layers:label:)](metal/mtlrasterizationratemapdescriptor/init(screensize:layers:label:).md)

### Identifying the rate map

- [label](metal/mtlrasterizationratemapdescriptor/label.md)

### Configuring the viewport size

- [screenSize](metal/mtlrasterizationratemapdescriptor/screensize.md)

### Configuring the rate map layers

- [layerCount](metal/mtlrasterizationratemapdescriptor/layercount.md)
- [layer(at:)](metal/mtlrasterizationratemapdescriptor/layer(at:).md)
- [setLayer(_:at:)](metal/mtlrasterizationratemapdescriptor/setlayer(_:at:).md)
- [layers](metal/mtlrasterizationratemapdescriptor/layers.md)
- [MTLRasterizationRateLayerArray](metal/mtlrasterizationratelayerarray.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Rasterization settings

- [Rendering at different rasterization rates](metal/rendering-at-different-rasterization-rates.md)
- [Creating a rasterization rate map](metal/creating-a-rasterization-rate-map.md)
- [Rendering with a rasterization rate map](metal/rendering-with-a-rasterization-rate-map.md)
- [Scaling variable rasterization rate content](metal/scaling-variable-rasterization-rate-content.md)
- [MTLRasterizationRateMap](metal/mtlrasterizationratemap.md)
- [MTLCoordinate2D](metal/mtlcoordinate2d.md)
- [MTLCoordinate2DMake(_:_:)](metal/mtlcoordinate2dmake(_:_:).md)
