{ "name": "Sunset", "id": "mYLx94kRyXN3hGtkq", "sources": { "main": "//I have no idea what I'm doing, I just modified Matrix 2D Honeycomb until I had a pattern I liked for indirect wall lighting.\n\nw = 40 // the width of the 2D matrix (playing with this gives pretty cool results)\nzigzag = true //straight or zigzag wiring?\nb = 1/1 //Brightness adjustment\nexport function beforeRender(delta) {\n tf = 5\n t1 = wave(time(.4*tf))*PI2\n t2 = wave(time(.5*tf))*PI2\n z = 2+wave(time(5*tf))*5\n t3 = wave(time(4*tf))\n t4 = (time(5*tf))\n}\n\nexport function render(index) {\n y = floor(index/w)\n x = index%w\n if (zigzag) {\n x = (y % 2 == 0 ? x : w-1-x)\n }\n h = (1 + sin(x/w*z + t1) + cos(y/w*z + t2))*.5\n v = wave(h + t4)\n v = v*v*v\n h = triangle(h%1)/2 + t3\n d = 2 //Change this to give more or less color contrast. 2 seems to be a nice balance between monochrome \n //and having so many colors that the resulting ambient light is white)\n hsv((h+v)/d-time(.2),1,b)\n}" }, "preview": "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" }