Feature Request: option to make an input for any setting

Started by oysteroid, February 26, 2015, 02:29:06 AM

Previous topic - Next topic

oysteroid

I was playing a bit earlier, taking a stab at making a fumarole using blue nodes, and I found myself really wishing that it were possible to create new inputs for a node, such that I could make the value of an otherwise constant setting change through space. For example, looking at pictures of fumarole plumes, I see that many features change as distance is increased from the source, such as the edge sharpness, the feature size, and so on. It would be nice to be able to take the length of the vector output of a 'get position' node, for example, and use that inversely, with a few modifications, to control the edge sharpness setting in the cloud node such that the plume edges get softer as it diffuses through the atmosphere. I can control the density of the cloud in exactly this way, but it would be nice to be able to vary other things for which no inputs exist. I realize that there are other, more complex ways to do roughly the same thing using blue nodes, but it would be nice to just be able to plug a wire into an existing setting.

Another example might be changing the high and low colors in a power fractal over space. I realize that different colors can be applied according to many different factors using distribution shaders and the like. But some even more complex and interesting things might be done if the settings could be driven by other factors.

It seems that the ability to do this with any setting would be very powerful, offering many opportunities to do things that the creator of the tools might not have anticipated. Something that comes to mind is how when Blender 2.5 was being developed, they made it a priority to make everything animatable. The result is that you can use basically any numeric aspect of anything to drive most any numeric aspect of anything else. This is amazingly powerful.

If there is a way to do what I am wishing for here, I would love to hear about it!

Also, a nice color ramp to plug into the color inputs would be great!  ;)

Dune

This really sounds like a welcome feature. I've mentioned an input like this in a transform shader once, so you can transform a shader (sequence) through an input which can be any combination of nodes, but I imagine it is difficult to accomplish.
The transformation of a cloud over height can only be done now with the base softness/whispyness of the cloud node itself, but then you have to inverse it. The top can then be made softer. But an input that enables e.g. a distribution shader to handle that would indeed be great.

Oshyan

Yes, this would definitely be *tremendously* powerful and it's something we've been thinking about for a long time. It's complex and difficult to implement though, requiring a lot of under-the-hood changes. And the result of such changes might actually reduce performance somewhat since there's no longer a known path (or limited set of functions) to optimize for. So it's not all good. But it might be a worthwhile trade-off or option at least. As I said, it's something we've had in mind for a while now. In the meantime we add specific inputs such as the ones in the Cloud Layer for the situations where such control seems most beneficial.

And yes, color ramp/gradients are also a known feature request that we hope to implement at some point. ;)

- Oshyan