{ "name": "New Oasis", "id": "4PjfZear4do6nD4GS", "sources": { "main": "/*\n New Oasis -- peaceful light dances on water.\n \n Inspired by FASTLEd's Pacifica effect\n \n Use the color picker control to choose color, brightness\n and amount of \"white water\".\n\n Version Author Date \n 1.0.0 JEM(ZRanger1) 08/21/2021\n*/ \n\nvar k1,k2,k3,k4; \nvar t1,t2,t3,t4; \nvar baseHue = 0.6667;\nvar sat = 1;\nvar bri = 0.25;\nvar minBri = (bri + 0.02) / -2;\nexport var speed = 0.7;\nexport var waveLength = 0.43;\nexport var depth = 0.07;\n\nexport function hsvPickerHue(h,s,v) {\n baseHue = h\n sat = s * 2\n bri = v / 4\n minBri = (bri + 0.02) / -2;\n}\n\nexport function sliderSpeed(v) {\n if (v == 0) {\n speed = 0;\n } else\n speed = max(0.04,1.5*(1-v));\n}\n\nexport function sliderDepth(v) {\n depth = 0.1*(1-v);\n}\n\nexport function sliderWavelength(v) {\n waveLength = 2*v*v;\n}\n\nexport function beforeRender(delta) {\n k1 = waveLength * 11; \n k2 = waveLength * 15; \n k3 = waveLength * 7; \n k4 = waveLength * 5; \n \n t1 = time(speed *.16);\n t2 = time(speed *.1);\n t3 = time(speed *.14);\n t4 = time(speed *.11);\n}\n\nexport function render(index) {\n var x,v;\n x = index/pixelCount;\n v = (wave((k1 * x) - t1) - 0.5) << 1;\n v += (wave((k2 * x) + t2) - 0.5) << 1;\n v += (wave((k3 * x) + t3) - 0.5) << 1;\n v += (wave((k4 * x) - t4) - 0.5) << 1;\n v = v >> 2; \n hsv(baseHue-(depth * triangle(x+v)), sat-v, max(minBri,v)+bri);\n}" }, "preview": "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" }