Parameters

The number of input parameters of VSL objects varies. 'Constant' has none, whereas 'Linear interpolation' of 'Operation' object has three. The parameters can be set either by selecting the object and using the popup menu, or from the in/out tab of the VSL editor.

An object can have only one output parameter. Nevertheless, VSL objects can also change values of their input parameters. Because of automatic type conversions, the original address of a parameter is not always passed in a VSL object call. Instead, the system copies the (possibly modified) converted value back after the execution to allow multiple output channels.

This principle is important to know when passing a parameter several times to a shader that also modifiers several parameters. The final value is not defined by the order the object uses them internally, but by the order they are given in the parameter list. For example:

color = SpecialShaderThatChanges4Channels(color, color, color);

The actual output channel value assignment is made last and is most significant. After that, the assignment of the last (3rd) input parameter has second highest significance.

This should not be a problem because the order would be unknown anyway without explicit instructions; developers of new VSL objects should assume and follow the above defined convention.