Page MenuHome

Multiple output nodes in a group produce "undefined behaviour"
Closed, ArchivedPublic

Description

Linux
GTX 1050

v2.81 Alpha
Hash: fbc096cf075b

I'm not sure what the expected behaviour is here, in other node-based software like Native Instruments Reaktor you have separate nodes for each input and output socket in a "group", which reduces the amount of lines converging and diverging in one place. I'm not sure if blender is supposed to have this, and as such I'm not sure if what I'm seeing is a feature half-implemented or an unintended behaviour to be removed.

Description of Problem:
When a group has multiple output nodes inside of it, only the active node sends output, even if there are no conflicts (each socket is only connected on one output node)
This occurs in both Eevee and Cycles.
Even worse, in the Compositor, output sockets which are not fed a connection in the selected output node seem to break the next node in the graph outside. (I assume they are producing NaNs)
Multiple input nodes work just fine though, the signal is duplicated as expected and you can hide the sockets you're not using and basically use a separate node per socket if you want.

In the attached blend file there is a viewport & shader editor with a group to demonstrate how this bug breaks shaders.
There is also an imageviewer window and compositor to demonstrate how this bug breaks the compositor. (obviously press F12 to refresh the compositor inputs)

open the attached blend
set the viewport to rendered (either cycles or eevee) and press F12
click on the group output nodes to see the different ways they break the node graphs that contain them

(it is my personal hope that whoever fixes this bug does so by deciding on a useful behaviour for multiple output nodes and not by simply removing them. they could improve organization by allowing you to output from different places in the group graph)

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Unknown Status to Archived.Oct 4 2019, 8:37 PM

The manual is not very clear, but apparently only the first Output Node works.
https://docs.blender.org/manual/en/latest/editors/texture_node/types/groups.html#make-group

So this is a known situation, not a bug.

What? so you're saying the interface lets us create nodes that don't work properly but that isn't a bug? i'm kind of baffled by this