Motion
Get Motion

ReferenceMaterial nodesTexture

Sample Texture

What's under the material (the layer itself), or a Shader layer's picture, at uv.

Texturepicture

Inputs

PinTypeStarts atNotes
UVuvvec20–

Outputs

PinType
RGBcolourvec3
Rrfloat
Ggfloat
Bbfloat
Aalphafloat
RGBArgbavec4

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);    vec3 n2_colour = (lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y))).rgb;    float n2_r = (lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y))).r;    float n2_g = (lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y))).g;    float n2_b = (lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y))).b;    float n2_alpha = (lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y))).a;    vec4 n2_rgba = lib_layer(vec2((n1_uv).x, 1.0 - (n1_uv).y));    fragColor = vec4(n2_colour * clamp(n2_alpha, 0.0, 1.0), 1.0);}

In a graph

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