How to use the JS Multi Ramp shader

The JS_MultiRamp is my multicolor ramp shader.
Its meant to be used with, and driven by, other shaders.
It currently has a maximum of 20 color inputs.
Does anyone need more?

JS_MultiRamp consist of seven different ramp types.
V ramp, U ramp, Circular ramp Radial ramp,
Diagonal Up ramp, Diagonal Down ramp and Square ramp.





It has five different interpolation types.
None, Linear, Cubic S curve, Quintic S curve and Exponential.



There is also a Frequency slider that lets you repeate the ramp
to get repeating ramp effects with a minimum of input.



Here frequency is set to 3. Note the sharp edge between the last and first color.
To get rid of this you simply add a new last color that is the same as the first.
The result looks like this.



The frequency has a softmin of 1 and a softmax of 10.
This means you can manually enter a higher or lower value.
Here frequency is set to 20.



To drive the ramp you simply plug a shader into one of the input coordinates and check useU or useV.
The input should be a scalar so if you want to plug in a color shader like noise
you could use my JS_Luminance to turn it into a scalar value based on the lightness of the color.
Here a noise texture is plugged into the V coord of a V ramp.



Here is the same but on a Diagonal ramp instead.



And here a Circular ramp with noise driving V coord.



Lets try driving both coordinates in a more advanced way.
Connect a mib_texture_vector to JS_Vector_to_Scalar and choose use x.
Then plug that into the JS_ScalarMath as Scalar1 and a noise into the Color input.
Be sure to check the use color.
This way you can blend between ordinary coordinates and another shader like noise.
Now plug that into the U coord input on the Circular ramp with another noise still driving the V coord.
Try the different modes to see the effect.




Use the JS_MultiRamp to mix between different shaders.
For sloped based effects you can drive the coordinates with the JS_Incidence shader.
Try plugging some image textures into the ramps colors and blend between them
with a noise or other shader like facing ratio or surface luminance.
The possibilities are endless.

Keep experimenting!