Motion
Get Motion

ReferenceMaterial nodesPost Process

Frost

Icy crystals growing in from the edges.

Inputs

PinTypeStarts atNotes
UVuvvec20–
Amountamountfloat0.5–

Outputs

PinType
UVuvvec2
Maskmaskfloat

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){    vec2 n1_uv = (vec2(fragCoord.x / iResolution.x, 1.0 - fragCoord.y / iResolution.y) * vec2(1.0, 1.0));    vec2 n1_centred = (vec2(fragCoord.x - 0.5 * iResolution.x, 0.5 * iResolution.y - fragCoord.y) / iResolution.y);    vec2 n1_square = (vec2(fragCoord.x, iResolution.y - fragCoord.y) / iResolution.y);    vec2 n2_uv = (n1_uv + (lib_hash2(floor(n1_uv * iResolution.xy / 2.0)) - 0.5) * 0.01 * (1.0 - smoothstep(0.0, max(0.5 * 0.3, 1e-4), min(min(n1_uv.x, 1.0 - n1_uv.x), min(n1_uv.y, 1.0 - n1_uv.y)) - lib_fbm(n1_uv * 12.0, 4.0) * 0.1)) * step(1e-4, 0.5));    float n2_mask = (1.0 - smoothstep(0.0, max(0.5 * 0.3, 1e-4), min(min(n1_uv.x, 1.0 - n1_uv.x), min(n1_uv.y, 1.0 - n1_uv.y)) - lib_fbm(n1_uv * 12.0, 4.0) * 0.1)) * step(1e-4, 0.5);    fragColor = vec4(vec3(n2_uv, 0.0), 1.0);}

In a graph

Texture coordinates into the node, and the node into the material, as Studio draws them.