Geometry Nodes Arrive in the Blender Compositor: What’s Landed and What’s Still Coming

The state of Geometry Nodes in the Blender Compositor

The Compositor has always had a basic Math node. What it has lacked is the broader utility layer that Geometry Nodes users take for granted: integer arithmetic, boolean logic, bitwise operations, and flexible type switching. A GSoC 2026 project by Cristian-Mihai Ivana is changing that. Some of it has already shipped.

What landed in Blender 5.3

Blender 5.3 added four nodes to the Compositor as part of this effort: Boolean Math, Compare, Float to Int, and Matrix SVD. That covers the most-requested conditional logic features in one release.

The Compare node matters for a reason beyond the obvious. Before 5.3, float comparisons behaved differently in the Compositor versus Geometry Nodes. The two editors had silently diverged. With the port, there is one consistent behavior across both. Small difference in isolation, but a real headache if you build node groups intended to work across editors.

What Boolean Math actually unlocks

Boolean Math covers AND, OR, NOT, XOR, and the other standard operations. Before this, the workaround was Multiply for AND, Max for OR, and Subtract-from-1 for NOT. Those tricks work between 0 and 1. They break when values drift outside that range, which happens constantly in compositing.

Why Bit Math and Integer Math are not in yet

Both are still missing. The reason is infrastructure, not complexity.

The Compositor’s GPU execution backend has historically operated on floats. Native integer and boolean types need to be added to the GPU layer first, before any node that relies on them can work correctly. That work is tracked in a separate pull request (PR #161003). Until it merges, Bit Math and Integer Math cannot be properly implemented. Hash Value and Random Value, also in scope for the GSoC project, share the same dependency.

This is the detail that matters when evaluating a proposal’s scope. Porting Integer Math is not a self-contained task.

The Index Switch node and unified type support

The regular Switch node in the Compositor used to handle one data type at a time. The Index Switch node, ported from Geometry Nodes, now supports Float, Int, Boolean, Vector, RGBA, Menu, and String all in one node, selectable from a dropdown.

There is a performance benefit too. If the condition is statically known at compositing time, nodes on the unused branch simply do not execute. This is useful when branching on render pass availability or other scene properties you know ahead of time.

String nodes in a Compositor context

Not every String node from Geometry Nodes translates into a useful Compositor task. The ones that genuinely matter:

  • Dynamic file path construction. Building an output path from scene name, frame number, or render pass name is still cumbersome in the Compositor. String concatenation and substitution nodes would eliminate a lot of manual re-entry.
  • Replace String. Useful for filename pattern matching and batch-rename workflows.
  • String to Image. Already available in recent Blender versions. The main remaining gap is path composition and the inverse direction.

Text overlay use cases exist but are secondary for most users. The core ask is path construction: being able to programmatically build file inputs for the Image node without touching a panel.

What the workarounds actually look like

Without Compare, you chain a Greater Than and a Less Than Math node, feed both into a Multiply to emulate AND, then route through a Set Alpha or Mix RGB to conditionally pass a value. It works. It is also seven nodes where one should be.

Without Integer Math, frame number arithmetic meant converting to float and hoping that Floor or Truncate covered your edge case. For anything more involved, you reached for driver expressions or Python. Neither is accessible to non-technical artists building reusable compositor setups.

The workarounds themselves are not that hard. The problem is they discourage building setups you can actually share, because nobody wants to rebuild an eight-node approximation every time they open a new file.

Tracking what comes next

PR #161003, which adds native int/bool GPU types to the Compositor, is the unlock for the remaining integer-dependent nodes. Once that lands, Bit Math, Integer Math, Hash Value, and Random Value should follow. The Blender compositor team publishes weekly meeting notes on the developer forum. Those notes are the fastest way to know when the infrastructure piece actually merges.

Sources

Similar Posts