Curve
A smooth curve through four heights, at 0, a third, two thirds and 1: what In is bent into.
ƒCurve
In0
Value 00
Value 1/30.2
Value 2/30.8
Value 11
Inputs
| Pin | Type | Starts at | Notes |
|---|---|---|---|
Inx | float | 0 | – |
Value 0at0 | float | 0 | – |
Value 1/3at33 | float | 0.2 | – |
Value 2/3at66 | float | 0.8 | – |
Value 1at100 | float | 1 | – |
Outputs
| Pin | Type |
|---|---|
out | float |
The code it becomes
What Studio writes for the graph below: a few lines of the material's shader, worked out for every pixel.
void mainImage(out vec4 fragColor, in vec2 fragCoord){ float n2_out = clamp((0.5 * (2.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.0 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.2 : 0.8) + ((floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.2 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.8 : 1.0) - (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? (2.0 * 0.0 - 0.2) : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.0 : 0.2)) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) + (2.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? (2.0 * 0.0 - 0.2) : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.0 : 0.2) - 5.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.0 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.2 : 0.8) + 4.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.2 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.8 : 1.0) - (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.8 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 1.0 : (2.0 * 1.0 - 0.8))) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) + (3.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.0 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.2 : 0.8) - (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? (2.0 * 0.0 - 0.2) : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.0 : 0.2) - 3.0 * (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.2 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.8 : 1.0) + (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.8 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 1.0 : (2.0 * 1.0 - 0.8))) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) * fract(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)))), min((floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.0 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.2 : 0.8), (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.2 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.8 : 1.0)), max((floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.0 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.2 : 0.8), (floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 1.0 ? 0.2 : floor(min(clamp(0.0, 0.0, 1.0) * 3.0, 2.9999)) < 2.0 ? 0.8 : 1.0))); fragColor = vec4(vec3(n2_out), 1.0);}In a graph
ƒCurve
In0
Value 00
Value 1/30.2
Value 2/30.8
Value 11
◎Material OutputEnds here
Colour
Alpha1
Texture coordinates into the node, and the node into the material, as Studio draws them.
Related
Notes from the community
Written by creators and checked by the docs' editors. Not part of Motion's official reference.