{ "name": "color bands", "id": "vmCXgwbox8nCBqQig", "sources": { "main": "/*\n Color bands\n \n Color bands has a chill vibe that comes from applying slower phase shifts to\n shorter wavelengths.\n \n It's also a good pattern to learn about mixing in just the right amount of\n desaturation (making whites, pinks, mints, etc) as well as modulating your\n colors, white spots, and dark spots independently.\n*/\n\nexport function beforeRender(delta) {\n t1 = time(.25)\n t2 = time(.15)\n}\n\nexport function render(index) {\n h = index / (pixelCount / 2) // Notice how each hue appears twice\n \n // Create the areas where white is mixed in. Start with a wave.\n s = wave(-index / 3 + t1)\n \n // A little desaturation goes a long way, so it's typical to start from 1 \n // (saturated) and sharply dip to 0 to make white areas.\n s = 1 - s * s * s * s\n \n // Create the slowly moving dark regions\n v = wave(index / 2 + t2) * wave(index / 5 - t2) + wave(index / 7 + t2)\n \n v = v * v * v * v\n hsv(h, s, v)\n}\n" }, "preview": "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" }