Motion
Get Motion

ReferenceMaterial nodesPost Process

Heat Haze

Shimmering air, as over a hot road: wobbles uv.

Post ProcessheatHaze

Inputs

PinTypeStarts atNotes
UVuvvec20–
Amountamountfloat0.005–
Speedspeedfloat2–

Outputs

PinType
UVuvvec2

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 + (vec2(lib_noise(n1_uv * 20.0 + vec2(0.0, iTime * 2.0)), lib_noise(n1_uv * 20.0 + 7.1 + vec2(0.0, iTime * 2.0))) - 0.5) * 0.005 * 2.0);    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.