<!--
{
  "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/MTLBlendFactor",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLBlendFactor"
  },
  "title" : "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:)`](/documentation/Metal/MTLRenderCommandEncoder/setBlendColor(red:green:blue:alpha:)) method of `MTLRenderCommandEncoder`.

```
enum MTLBlendFactor
```

## Topics

### Blend factors

[`MTLBlendFactor.zero`](/documentation/Metal/MTLBlendFactor/zero)

Blend factor of zero.

[`MTLBlendFactor.one`](/documentation/Metal/MTLBlendFactor/one)

Blend factor of one.

[`MTLBlendFactor.sourceColor`](/documentation/Metal/MTLBlendFactor/sourceColor)

Blend factor of source values.

[`MTLBlendFactor.oneMinusSourceColor`](/documentation/Metal/MTLBlendFactor/oneMinusSourceColor)

Blend factor of one minus source values.

[`MTLBlendFactor.sourceAlpha`](/documentation/Metal/MTLBlendFactor/sourceAlpha)

Blend factor of source alpha.

[`MTLBlendFactor.oneMinusSourceAlpha`](/documentation/Metal/MTLBlendFactor/oneMinusSourceAlpha)

Blend factor of one minus source alpha.

[`MTLBlendFactor.destinationColor`](/documentation/Metal/MTLBlendFactor/destinationColor)

Blend factor of destination values.

[`MTLBlendFactor.oneMinusDestinationColor`](/documentation/Metal/MTLBlendFactor/oneMinusDestinationColor)

Blend factor of one minus destination values.

[`MTLBlendFactor.destinationAlpha`](/documentation/Metal/MTLBlendFactor/destinationAlpha)

Blend factor of destination alpha.

[`MTLBlendFactor.oneMinusDestinationAlpha`](/documentation/Metal/MTLBlendFactor/oneMinusDestinationAlpha)

Blend factor of one minus destination alpha.

[`MTLBlendFactor.sourceAlphaSaturated`](/documentation/Metal/MTLBlendFactor/sourceAlphaSaturated)

Blend factor of the minimum of either source alpha or one minus destination alpha.

[`MTLBlendFactor.blendColor`](/documentation/Metal/MTLBlendFactor/blendColor)

A blend factor that applies the blend color’s red, green, and blue components.

[`MTLBlendFactor.oneMinusBlendColor`](/documentation/Metal/MTLBlendFactor/oneMinusBlendColor)

A blend factor that applies one minus the blend color’s red, green, and blue components.

[`MTLBlendFactor.blendAlpha`](/documentation/Metal/MTLBlendFactor/blendAlpha)

Blend factor of alpha value.

[`MTLBlendFactor.oneMinusBlendAlpha`](/documentation/Metal/MTLBlendFactor/oneMinusBlendAlpha)

Blend factor of one minus alpha value.

[`MTLBlendFactor.source1Color`](/documentation/Metal/MTLBlendFactor/source1Color)

Blend factor of source values. This option supports dual-source blending and reads from the second color output of the fragment function.

[`MTLBlendFactor.oneMinusSource1Color`](/documentation/Metal/MTLBlendFactor/oneMinusSource1Color)

Blend factor of one minus source values. This option supports dual-source blending and reads from the second color output of the fragment function.

[`MTLBlendFactor.source1Alpha`](/documentation/Metal/MTLBlendFactor/source1Alpha)

Blend factor of source alpha. This option supports dual-source blending and reads from the second color output of the fragment function.

[`MTLBlendFactor.oneMinusSource1Alpha`](/documentation/Metal/MTLBlendFactor/oneMinusSource1Alpha)

Blend factor of one minus source alpha. This option supports dual-source blending and reads from the second color output of the fragment function.



---

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)