Eevee Metallness/Specular nodes to become shader nodes, connected to output node
Closed, ResolvedPublic

Description

The current design has a few shortcomes:

  • It sets itself apart from Cycles
  • It leads to ambiguity when dealing with multi-engine materials
    • If we have a Specular, a Metallness and a Cycles Output material node, and the Cycles is the active one it's not clear which Eevee node to use as output

So the proposal is to create a new node for Material Outputs in Eevee, and turn the existent nodes into "shader" nodes, exporting "closures" (the green outputs) into the Material output.

Details

Type
To Do

As far as I understand it, a Eevee output node is basically a glsl shader. Having this shaders as separate nodes implies that they can be mixed or added with cycles BSDF nodes, which would be technically difficult (?).
I agree on the underlying issue though, having a "Material Metallic Output" (Eevee), a "Material Specular Output" (Eevee) and a "Material Output" (Cycles) is confusing (Also, the Eevee nodes are named differently than the entry in the Add Node menu).

I therefore propose to rename the "Material Output" to "Cycles Output" (-> Other Outputs? e.g. the "Lamp Output" is also Cycles specific),
and combine both Eevee outputs in one "Eevee Output", where the type can be selected via a dropdown menu: "Specular", "Metallic", ...
(Problems with different numbers of input sockets have yet to be solved)

Regarding multi output materials, Cycles is always using the one which was last selected.