---
title: MTLBlendFactor
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlblendfactor
---

# MTLBlendFactor

The source and destination blend factors are often needed to complete specification of a blend operation. In most cases, the blend factor for both RGB values (F(rgb)) and alpha values (F(a)) are similar to one another, but in some cases, such as MTLBlendFactorSourceAlphaSaturated, the blend factor is slightly different. Four blend factors (MTLBlendFactorBlendColor, MTLBlendFactorOneMinusBlendColor, MTLBlendFactorBlendAlpha, and MTLBlendFactorOneMinusBlendAlpha) refer to a constant blend color value that is set by the setBlendColor(red:green:blue:alpha:) method of MTLRenderCommandEncoder.

## Declaration

```swift
enum MTLBlendFactor
```

## Topics

### Blend factors

- [MTLBlendFactor.zero](metal/mtlblendfactor/zero.md)
- [MTLBlendFactor.one](metal/mtlblendfactor/one.md)
- [MTLBlendFactor.sourceColor](metal/mtlblendfactor/sourcecolor.md)
- [MTLBlendFactor.oneMinusSourceColor](metal/mtlblendfactor/oneminussourcecolor.md)
- [MTLBlendFactor.sourceAlpha](metal/mtlblendfactor/sourcealpha.md)
- [MTLBlendFactor.oneMinusSourceAlpha](metal/mtlblendfactor/oneminussourcealpha.md)
- [MTLBlendFactor.destinationColor](metal/mtlblendfactor/destinationcolor.md)
- [MTLBlendFactor.oneMinusDestinationColor](metal/mtlblendfactor/oneminusdestinationcolor.md)
- [MTLBlendFactor.destinationAlpha](metal/mtlblendfactor/destinationalpha.md)
- [MTLBlendFactor.oneMinusDestinationAlpha](metal/mtlblendfactor/oneminusdestinationalpha.md)
- [MTLBlendFactor.sourceAlphaSaturated](metal/mtlblendfactor/sourcealphasaturated.md)
- [MTLBlendFactor.blendColor](metal/mtlblendfactor/blendcolor.md)
- [MTLBlendFactor.oneMinusBlendColor](metal/mtlblendfactor/oneminusblendcolor.md)
- [MTLBlendFactor.blendAlpha](metal/mtlblendfactor/blendalpha.md)
- [MTLBlendFactor.oneMinusBlendAlpha](metal/mtlblendfactor/oneminusblendalpha.md)
- [MTLBlendFactor.source1Color](metal/mtlblendfactor/source1color.md)
- [MTLBlendFactor.oneMinusSource1Color](metal/mtlblendfactor/oneminussource1color.md)
- [MTLBlendFactor.source1Alpha](metal/mtlblendfactor/source1alpha.md)
- [MTLBlendFactor.oneMinusSource1Alpha](metal/mtlblendfactor/oneminussource1alpha.md)

### Enumeration Cases

- [MTLBlendFactor.unspecialized](metal/mtlblendfactor/unspecialized.md)

### Initializers

- [init(rawValue:)](metal/mtlblendfactor/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

### Configuring blend factors

- [destinationAlphaBlendFactor](metal/mtlrenderpipelinecolorattachmentdescriptor/destinationalphablendfactor.md)
- [destinationRGBBlendFactor](metal/mtlrenderpipelinecolorattachmentdescriptor/destinationrgbblendfactor.md)
- [sourceAlphaBlendFactor](metal/mtlrenderpipelinecolorattachmentdescriptor/sourcealphablendfactor.md)
- [sourceRGBBlendFactor](metal/mtlrenderpipelinecolorattachmentdescriptor/sourcergbblendfactor.md)
