Provider Inputs
In this case you will get understanding what are Provider Inputs in SkyRenderer. You will learn what types of
Provider Inputs are implemented in the engine, how to use them and how they affect final scene and render.
Provider Inputs are strictly related to the randomization topic, so for more information and basic usage check out
the INTRO_Randomization and INTRO_InputDrawingStrategy tutorials.
Agenda:
- IProviderInput interface
- Types of ProviderInputs
IProviderInput interface
All Provider Inputs are randomizers for the parameters and can serve as random input in all classes that serve as
parameter provider. All Provider Inputs are derived classes of IProviderInput which draws the value based on the
drawn_state. With Provider Inputs you can randomize e.g. color (3-dimensional vector of float values), position
on X axis (single number), etc.
To better visualize the concept, let's see what types of Provider Inputs are available in the engine.
Types of ProviderInputs
In the SkyRenderer there are several different types of Provider Inputs implemented:
- RangeProviderInput - randomizer for a single number from the given range.
- ListProviderInput - randomizer for a single number from the list of given possible values.
- IntInput - randomizer for a n-dimensional vector of integer values from the given range.
- FloatInput - randomizer for a n-dimensional vector of float values from the given range.
- HSVColorInput - 3-dimensional vector randomizer, by default it supplies the parameter provider with RGB values
calculated from the HSV colorspace parameters. - ChromaColorInput - 3-dimensional vector randomizer, by default it supplies the parameter provider with RGB
values calculated from the HSV colorspace parameters, with V set to 1. - SubstanceTextureInput - input used in SubstanceTextureProvider for randomizing values of the substance textures.
Summary
In this section you have learnt:
- ProviderInputs are used to randomize parameters in Parameter Provider.
- There are specialized ProviderInputs for randomizing colors, numbers, n-dimensional vectors, etc.