Page MenuHome

Geometry Nodes: non-deterministic material handling in Join Geometry node
Closed, DuplicatePublic

Description

System Information
Operating system: Darwin-20.2.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 5500M OpenGL Engine ATI Technologies Inc. 4.1 ATI-4.2.13

Blender Version
Broken: version: 2.93.0 Alpha, branch: master, commit date: 2021-02-23 23:15, hash: rBb2c7ea6d82c4
Worked: -

Short description of error
Adding a node sometimes randomly disables the material textures in the 3d view. So far this has happened with adding a transform node and attribute randomise node (last one unconnected). With the attached file, a reliable way to reproduce this is to duplicate the transform node and add it directly to the right of the original one. The only reliable way to undo this I have found so far is to mute and unmute the attribute fill node (undoing adding the just added node doesn't help).

Exact steps for others to reproduce the error


Event Timeline

This is caused by the non-determinism in the Join Geometry node.. It is currently passing on the materials of the "first" input input (see BKE_mesh_copy_settings(new_mesh, first_input_mesh);). However, since there is the multi-input-socket "first" is not well defined anymore and my change arbitrarily.
I can think of two possible solutions (maybe both are necessary):

  • Have a deterministic input order internally.
  • Introduce proper material handling in Geometry Nodes. This is probably not something we can get around for long. So we might also just start working on it now.
Jacques Lucke (JacquesLucke) renamed this task from Geometry Nodes: adding a node randomly disables materials in viewport to Geometry Nodes: non-deterministic material handling in Join Geometry node.Feb 25 2021, 9:57 AM
Jacques Lucke (JacquesLucke) changed the task status from Needs Triage to Confirmed.
Charlie Jolly (charlie) closed this task as Resolved.Feb 25 2021, 10:57 AM
Charlie Jolly (charlie) claimed this task.
This comment was removed by Charlie Jolly (charlie).
Charlie Jolly (charlie) reopened this task as Confirmed.Feb 25 2021, 10:58 AM

Accidentally resolved! Sorry!

The non determinism of the Join Geometry node has been resolved by making the multi-input-socket ordered.
However, there is another related bug: T87419.