<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ShaderGraph-Docs",
  "identifier" : "/documentation/ShaderGraph/Compositing",
  "metadataVersion" : "0.1.0",
  "role" : "ShaderGraph Node Group",
  "symbol" : {
    "kind" : "ShaderGraph Node Group",
    "modules" : [
      "ShaderGraph"
    ],
    "preciseIdentifier" : "compositing"
  },
  "title" : "Compositing"
}
-->

# Compositing

Generate a single output from the combination of multiple data values.

## Overview

The compositing process takes multiple input values and combines them in varying proportions to create a single output. You can use Compositing nodes to combine textures and achieve a specific appearance. For example, you might show a background texture only in places where the foreground texture is transparent. Compositing nodes support the combination of colors, but also other data types, such as vectors and floating-point numbers.

## Topics

### Nodes

[`Premultiply`](/documentation/ShaderGraph/Compositing/Premultiply)

Multiplies the RGB channels of the input by the alpha channel.

[`Unpremultiply`](/documentation/ShaderGraph/Compositing/Unpremultiply)

Divides the RGB channels of the input by the alpha channel.

[`Additive Mix`](/documentation/ShaderGraph/Compositing/Additive-Mix)

Adds foreground and background values.

[`Subtractive Mix`](/documentation/ShaderGraph/Compositing/Subtractive-Mix)

Subtracts foreground from background values.

[`Difference`](/documentation/ShaderGraph/Compositing/Difference)

Outputs the distance between foreground and background values.

[`Burn`](/documentation/ShaderGraph/Compositing/Burn)

A blend operation that darkens the foreground layer using the background.

[`Dodge`](/documentation/ShaderGraph/Compositing/Dodge)

A blend operation that lightens the background layer depending on the foreground.

[`Screen`](/documentation/ShaderGraph/Compositing/Screen)

A blend operation that lightens areas that are darker than white.

[`Overlay`](/documentation/ShaderGraph/Compositing/Overlay)

A blend operation that multiplies dark areas and screens light areas.

[`Disjoint Over`](/documentation/ShaderGraph/Compositing/Disjoint-Over)

A merge operation that layers foreground over background color, but assumes no overlap in partially transparent areas covered by both.

[`In`](/documentation/ShaderGraph/Compositing/In)

Outputs areas of foreground that overlap with the alpha of background.

[`Mask`](/documentation/ShaderGraph/Compositing/Mask)

Outputs areas of background that overlap with the alpha of foreground.

[`Matte`](/documentation/ShaderGraph/Compositing/Matte)

A merge operation that layers premultiplied foreground over background.

[`Out`](/documentation/ShaderGraph/Compositing/Out)

Outputs areas of foreground that do not overlap with background.

[`Over`](/documentation/ShaderGraph/Compositing/Over)

A merge operation that layers foreground over background, using the alpha of the foreground.

[`Inside`](/documentation/ShaderGraph/Compositing/Inside)

Multiplies a mask to all channels of the input.

[`Outside`](/documentation/ShaderGraph/Compositing/Outside)

Multiplies (1 - mask) to all channels of the input.

[`Mix`](/documentation/ShaderGraph/Compositing/Mix)

Mixes foreground and background inputs, weighting based on mix value.



---

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)