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


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.


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.