Revision control
++ {
++ "QEN": {
++ "description": "Animated bars effect.",
++ "fragmentCode": [
++ "@main",
++ "{",
++ " float px = 1.0 / iResolution.x;",
++ " float sbar = iResolution.x / barsBarWidth * 0.5;",
++ " float movement = -iTime * px * barsAnimationSpeed;",
++ " float p = ((fragCoord.x + fragCoord.y * barsBarAngle) * px + movement) * sbar;",
++ " float bar = abs(2.0 * fract(p) - 1.0);",
++ " float barSmoothness = 2.0 / barsBarWidth;",
++ " bar = smoothstep(0.5 - barSmoothness, 0.5 + barSmoothness, bar);",
++ " fragColor = mix(barsColor1, barsColor2, bar);",
++ "}"
++ ],
++ "name": "Bars",
++ "properties": [
++ {
++ "defaultValue": "0, 0, 0, 1",
++ "description": "First color of the bars.",
++ "name": "barsColor1",
++ "type": "color"
++ },
++ {
++ "defaultValue": "1, 1, 1, 1",
++ "description": "Second color of the bars.",
++ "name": "barsColor2",
++ "type": "color"
++ },
++ {
++ "defaultValue": "30",
++ "description": "Width of the bars in pixels.",
++ "maxValue": "100",
++ "minValue": "4",
++ "name": "barsBarWidth",
++ "type": "float"
++ },
++ {
++ "defaultValue": "50",
++ "description": "How fast the bars animate in pixels per second.",
++ "maxValue": "200",
++ "minValue": "-200",
++ "name": "barsAnimationSpeed",
++ "type": "float"
++ },
++ {
++ "defaultValue": "0.5",
++ "description": "Rotation angle of the bars.",
++ "maxValue": "1",
++ "minValue": "-1",
++ "name": "barsBarAngle",
++ "type": "float"
++ }
++ ],
++ "version": 1
++ }
++ }