Hi there. I’d like to know if there is a way (built in or using an addon) to create a material with multiple outputs or alternatively to assign multiple materials on an entire object. I want the entire object to use several materials (or outputs) rather than have an object with several regions, each one with a single material. Those materials would then be separated in the compositor and combined again, giving more freedom for the final effect compared to simply mixing colores/textures in Cycles nodes with a single output.
Some applications would be the ability to have different colors based on the shading (using the shadow pass to mix 2 or more different diffuse outputs) or the ability to apply a (simple) texture on top of the diffuse pass after doing compositor manipulations on that diffuse pass (while a texture inside the shader would also be affected by those manipulations).
Obviously i’m not interested in physically accurate results with this idea. It would probably be useful for NPR renders mostly. I’d like to do this with Cycles since BI will (most certainly) be dropped from 2.8.
I know a lot of this can already be done purely with the compositor but having some way to “pass” data from the material to the compositor rather than manually enter everything in a giant maze of a compositor graph would certainly help and i don’t think a texture can even be properly UV-mapped in a compositor node since the compositor works in image space rather than object space.
EDIT : I’m open to other options besides materials, such as custom data to store RGB values or Texture references that can be accessed from compositor nodes, but i really have no idea how to use custom data.