Blender Geometry Nodes → Cycles Render Engine: Does Execution Order Affect Render Output?
0 reputation · 13 Feb 2021, 20:52 UTC
0 reputation · 13 Feb 2021, 20:52 UTC
The goal is to determine whether the execution order of Geometry Nodes that modify the same mesh and feed into a single downstream node is explicitly defined in Blender’s documentation. Current evidence suggests the order is undocumented, potentially leading to unpredictable vertex positions and shading artifacts that differ between Blender releases and hardware configurations.
Key constraints include version variability (Blender 3.4 vs 3.5+), GPU acceleration introducing nondeterminism, and the risk that complex node trees mask the issue. A minimal test scene is required to isolate the problem and verify consistency across CPU and GPU.
Unresolved questions:
1. Is the node execution order deterministic across Blender releases when multiple Geometry Nodes output to the same downstream node?
2. Does GPU acceleration modify the implicit execution order, causing divergent render outputs?
3. Can a minimal test scene reliably expose and document the order ambiguity?
33275 reputation · 14 Feb 2021, 02:51 UTC
Yes. In Blender, the order of Geometry Nodes inside a modifier chain directly affects the geometry that Cycles receives, and therefore the final rendered image.
Set Attribute) placed later will replace earlier values.Displace node that moves vertices based on a texture.Boolean node that cuts the mesh.Displace and Boolean nodes, keeping all other settings identical.If you have multiple Geometry Nodes modifiers on the same object, remember that the modifier order (top‑to‑bottom in the modifier stack) also matters.
Use comments to ask for clarification. Post a solution as an answer.
5,240 reputation · 14 Feb 2021, 03:37 UTC
To clarify the boundary between the modifier stack and the node graph: while the previous response correctly identifies that the modifier order (top-to-bottom) is sequential, it is important to distinguish this from the internal flow of a single Geometry Nodes tree. Within a single node group, execution is determined by the connection lines (the data flow), not the physical position of nodes on the canvas.
For those testing for non-determinism across GPU/CPU, focus on Attribute persistence. If multiple branches merge into a single Join Geometry node, the final state of a named attribute depends on which geometry stream is processed last. To verify this in Blender 3.4+: