I see that this can be useful sometimes. I think the main issue with this approach is data block management. Currently, a material node tree is owned by a material.
With this proposal the relation between materials and node trees becomes quite a bit more complicated. Also it is less well defined when e.g. the same material is accidentally controlled by multiple node trees.
Also think about what should happen when you link a material into another file, should all materials be linked?
I’m not fundamentally against this, but there are too many open questions currently. I’m not sure if the complexity of a correct implementation is worth the added user benefit. Node groups can be used to achieve similar functionality without the mentioned issues.
thanks for the response !
i mainly propose this idea because this feature
there’s no way to use cycles powerful node for particles distribution. It’s a huge flaw because cycles dispose of very powerful tools to make such distribution procedural maps that the texure editor simply don’t have.
This approach seems a bit flawed. In general it makes more sense to take textures from a texture editor and pass them into the shader instead of the other way around. Since we do not have a powerful enough texture node editor yet, it is hard to predict how this will work exactly.
I know this isn’t exactly what you want but you can achieve the same thing with node groups. They basically work similarly to functions in programming. You can write universal function and share it between multiple materials. It requires a bit more foresight than just mashing everything into one nodetree, but you will be rewarded by more organized materials with cleaner distinction between what is shared and what is unique per material.
Why does nobody get what he’s saying? I often want/need to do this.
If you have some shader with a diffuse color output (such as a clothing pattern, grass/rocks, whatever, this is a super commonality) and then you want to put particles (fur, hair, grass) based on the difference you need to take the texture values (white/black) and put them in a vertex group for particle density. Right now, you just “can’t”, even though all the information is already there. It’s freaking frustrating!