Shadertoy uniform names (`iTime`, `iResolution`, etc.) are undefined in glslViewer and must be replaced
Shadertoy shaders use uniform names that do not exist in glslViewer: iTime → u_time, iResolution → u_resolution, iMouse → u_mouse, iChannel0 → u_tex0, and entry point mainImage(fragColor, fragCoord) → main() writing gl_FragColor from gl_FragCoord. Pasting a Shadertoy shader unmodified into glslViewer produces compile errors on every undefined uniform. The full porting table is in cheatsheet.md §2.1.
Examples
Shadertoy: void mainImage(out vec4 c, vec2 fc){ c = vec4(iTime,0,0,1); }
glslViewer: void main(){ gl_FragColor = vec4(u_time,0,0,1); }
Assessment
Port this Shadertoy snippet to glslViewer: gl_FragColor = vec4(iTime*0.1, iMouse.x/iResolution.x, 0.5, 1.0);