Motion
Get Motion

ReferenceMaterial nodesPost Process

Old Film

Sepia, flicker, scratches and dust.

Inputs

PinTypeStarts atNotes
UVuvvec20–
Incolourvec3"#808080"–
Amountamountfloat0.6–

Outputs

PinType
outvec3

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_out = (mix(vec3(0.50196, 0.50196, 0.50196), vec3(dot(vec3(0.50196, 0.50196, 0.50196), vec3(0.393, 0.769, 0.189)), dot(vec3(0.50196, 0.50196, 0.50196), vec3(0.349, 0.686, 0.168)), dot(vec3(0.50196, 0.50196, 0.50196), vec3(0.272, 0.534, 0.131))), 0.6) * (1.0 + (lib_hash(vec2(floor(iTime * 18.0))) - 0.5) * 0.15 * 0.6) - (step(0.998, lib_hash(vec2(floor((n1_uv).x * 400.0), floor(iTime * 12.0)))) + step(0.996, lib_hash(floor((n1_uv) * 180.0) + floor(iTime * 12.0) * 7.31))) * 0.3 * 0.6);    fragColor = vec4(n2_out, 1.0);}

In a graph

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