Making nodes more generic, node socket as node interface
This proposal is about nodes re-usability.
Imagine you have some more or less complex calculations in a node group, and this calculation uses textures (or more precisely something the requires a vector as input and a color as output).
In this situation it is often impossible to keep the calculation and apply it to another texture, because you often need to incorporate the texture inside the calculation. So to do that, you need to completely duplicate the node group and relink the new texture inside of it).
So the idea is to have a node socket that behaves like an 'interface' (in Java or C# meaning) so that the calculation only relies on expected input/output parameters and can be feed/instanciated by the concrete node you want.
From the outside of the node group that can be done like this where the texture is a parameter given to a socket of type 'interface':
And inside of the group, this can be like this (with a + button like in Animation Node to create instances of the input):
This is of course not only about textures, but expected to be general approach. This point is also related to Animation Nodes and current project about "functions branch" (or "everything nodes").
1 Comment
It is relative to route portals and image texture pointer