Basic types are the most fundamental types. Non-basic types are aggregates of these fundamental types.
Vec1 - floating point number
Vec2, Vec3, Vec4 - n-component vectors.
Texture - image created using a mathematical description (i.e. an algorithm) or bitmap image stored in common image file formats.
Nodes can have multiple inputs and multiple outputs.
Each node output can be connected to multiple node inputs. Each node output (and input) can be:
- colored or grayscale texture
- numerical values
During execution, the conversion will be performed automatically if necessary
Float numbers are converted to vectors as
Vec4 conv = Vec4 (x, x, x, x)
Float numbers are converted to textures as a grayscale texture of 1x1 pixels
Vectors are expanded from lower to higher dimension by adding zeros.
Vec2 + Vec3 = Vec3
In mixed operations, vectors are converted to 1x1 textures.
Texture + Vec3 = Texture + Vec4 = Texture + Texture (1x1)
If the value in the vector is outside the range [0..1], trimming is performed.
Textures are scaled from smaller to larger:
Texture (10x10) + Texture (16x16) = Texture (16x16)
Operator nodes are simple nodes that apply an elementary mathematical operation to each pixel.