From adebc672ada8eaf405910d6775e06e18ecaf7372 Mon Sep 17 00:00:00 2001 From: Digital Artifex <7929434+DigitalArtifex@users.noreply.github.com> Date: Tue, 4 Nov 2025 11:29:25 -0500 Subject: [PATCH] Updated pack sources --- tools/packsrc/Blueprint/pack.json | 32 -- tools/packsrc/Blueprint/shaders/Buffer A.frag | 8 - tools/packsrc/Blueprint/shaders/Image.frag | 356 ---------------- .../packsrc/Homecomputer/images/iChannel1.png | Bin 0 -> 75364 bytes tools/packsrc/Homecomputer/pack.json | 52 +++ .../Homecomputer/shaders/Buffer A.frag | 83 ++++ .../Homecomputer/shaders/Buffer B.frag | 73 ++++ .../Homecomputer/shaders/Buffer C.frag | 51 +++ tools/packsrc/Homecomputer/shaders/Image.frag | 20 + .../shaders/Colorful_Lens.frag.qsb | Bin 0 -> 4787 bytes tools/packsrc/Mist Part 2/pack.json | 17 + tools/packsrc/Mist Part 2/shaders/Image.frag | 274 ++++++++++++ tools/packsrc/Neon Rings/pack.json | 30 ++ tools/packsrc/Neon Rings/shaders/Image.frag | 87 ++++ tools/packsrc/Neonwave Sunset/pack.json | 22 + .../Neonwave Sunset/shaders/Image.frag | 390 ++++++++++++++++++ tools/packsrc/Pixel Room 2/pack.json | 22 + tools/packsrc/Pixel Room 2/shaders/Image.frag | 87 ++++ tools/packsrc/Pixel Room/pack.json | 22 + tools/packsrc/Pixel Room/shaders/Image.frag | 78 ++++ tools/packsrc/PolarVisualizer/pack.json | 21 - .../PolarVisualizer/shaders/Image.frag | 133 ------ tools/packsrc/Rhodium Liquid Carbon/pack.json | 24 ++ .../shaders/Buffer A.frag | 175 ++++++++ .../Rhodium Liquid Carbon/shaders/Image.frag | 36 ++ .../packsrc/Root Sanctum/images/iChannel0.png | Bin 0 -> 47082 bytes tools/packsrc/Root Sanctum/pack.json | 23 ++ tools/packsrc/Root Sanctum/shaders/Image.frag | 109 +++++ tools/packsrc/Sailing Beyond/pack.json | 22 + .../packsrc/Sailing Beyond/shaders/Image.frag | 240 +++++++++++ tools/packsrc/Shimmy/pack.json | 17 + tools/packsrc/Shimmy/shaders/Image.frag | 126 ++++++ tools/packsrc/The Grid/images/iChannel1.png | Bin 0 -> 65357 bytes tools/packsrc/The Grid/images/iChannel2.png | Bin 0 -> 38087 bytes tools/packsrc/The Grid/pack.json | 40 ++ tools/packsrc/The Grid/shaders/Buffer A.frag | 216 ++++++++++ tools/packsrc/The Grid/shaders/Common.frag | 23 ++ tools/packsrc/The Grid/shaders/Image.frag | 30 ++ tools/packsrc/The Universe Within/pack.json | 22 + .../The Universe Within/shaders/Image.frag | 157 +++++++ .../packsrc/Warp Tunnel/images/iChannel0.png | Bin 0 -> 73225 bytes .../packsrc/Warp Tunnel/images/iChannel1.png | Bin 0 -> 57729 bytes .../packsrc/Warp Tunnel/images/iChannel2.png | Bin 0 -> 66001 bytes tools/packsrc/Warp Tunnel/pack.json | 34 ++ tools/packsrc/Warp Tunnel/shaders/Image.frag | 348 ++++++++++++++++ .../deadly_halftones/shaders/Common.frag | 2 - tools/src/generative/Cyber Fuji 2020.frag | 158 +++++++ tools/src/generative/Octagrams.frag | 102 +++++ tools/src/manipulative/added | 41 ++ 49 files changed, 3251 insertions(+), 552 deletions(-) delete mode 100644 tools/packsrc/Blueprint/pack.json delete mode 100644 tools/packsrc/Blueprint/shaders/Buffer A.frag delete mode 100644 tools/packsrc/Blueprint/shaders/Image.frag create mode 100644 tools/packsrc/Homecomputer/images/iChannel1.png create mode 100644 tools/packsrc/Homecomputer/pack.json create mode 100644 tools/packsrc/Homecomputer/shaders/Buffer A.frag create mode 100644 tools/packsrc/Homecomputer/shaders/Buffer B.frag create mode 100644 tools/packsrc/Homecomputer/shaders/Buffer C.frag create mode 100644 tools/packsrc/Homecomputer/shaders/Image.frag create mode 100644 tools/packsrc/Lucid Dreams/shaders/Colorful_Lens.frag.qsb create mode 100644 tools/packsrc/Mist Part 2/pack.json create mode 100644 tools/packsrc/Mist Part 2/shaders/Image.frag create mode 100644 tools/packsrc/Neon Rings/pack.json create mode 100644 tools/packsrc/Neon Rings/shaders/Image.frag create mode 100644 tools/packsrc/Neonwave Sunset/pack.json create mode 100644 tools/packsrc/Neonwave Sunset/shaders/Image.frag create mode 100644 tools/packsrc/Pixel Room 2/pack.json create mode 100644 tools/packsrc/Pixel Room 2/shaders/Image.frag create mode 100644 tools/packsrc/Pixel Room/pack.json create mode 100644 tools/packsrc/Pixel Room/shaders/Image.frag delete mode 100644 tools/packsrc/PolarVisualizer/pack.json delete mode 100644 tools/packsrc/PolarVisualizer/shaders/Image.frag create mode 100644 tools/packsrc/Rhodium Liquid Carbon/pack.json create mode 100644 tools/packsrc/Rhodium Liquid Carbon/shaders/Buffer A.frag create mode 100644 tools/packsrc/Rhodium Liquid Carbon/shaders/Image.frag create mode 100644 tools/packsrc/Root Sanctum/images/iChannel0.png create mode 100644 tools/packsrc/Root Sanctum/pack.json create mode 100644 tools/packsrc/Root Sanctum/shaders/Image.frag create mode 100644 tools/packsrc/Sailing Beyond/pack.json create mode 100644 tools/packsrc/Sailing Beyond/shaders/Image.frag create mode 100644 tools/packsrc/Shimmy/pack.json create mode 100644 tools/packsrc/Shimmy/shaders/Image.frag create mode 100644 tools/packsrc/The Grid/images/iChannel1.png create mode 100644 tools/packsrc/The Grid/images/iChannel2.png create mode 100644 tools/packsrc/The Grid/pack.json create mode 100644 tools/packsrc/The Grid/shaders/Buffer A.frag create mode 100644 tools/packsrc/The Grid/shaders/Common.frag create mode 100644 tools/packsrc/The Grid/shaders/Image.frag create mode 100644 tools/packsrc/The Universe Within/pack.json create mode 100644 tools/packsrc/The Universe Within/shaders/Image.frag create mode 100644 tools/packsrc/Warp Tunnel/images/iChannel0.png create mode 100644 tools/packsrc/Warp Tunnel/images/iChannel1.png create mode 100644 tools/packsrc/Warp Tunnel/images/iChannel2.png create mode 100644 tools/packsrc/Warp Tunnel/pack.json create mode 100644 tools/packsrc/Warp Tunnel/shaders/Image.frag create mode 100644 tools/src/generative/Cyber Fuji 2020.frag create mode 100644 tools/src/generative/Octagrams.frag create mode 100644 tools/src/manipulative/added diff --git a/tools/packsrc/Blueprint/pack.json b/tools/packsrc/Blueprint/pack.json deleted file mode 100644 index 63b8601..0000000 --- a/tools/packsrc/Blueprint/pack.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "author": "s23b", - "name": "Blueprint of the Arkiteckt", - "version": "1.0.0", - "description": "", - "license": "CC BY-NC-SA 3.0", - "engine": "shadertoys", - "id": "4tySDW", - "tags": [ - "reactive", - "raymarching", - "fractal", - "edge detect", - "mouse" - ], - - "source": "./shaders/Image.frag.qsb", - "speed": 1, - - "channel0": - { - "type": 2, - "source": "./shaders/Buffer A.frag.qsb", - "frame_buffer_channel": 1, - - "channel0": - { - "type": 4, - "invert": true - } - } -} \ No newline at end of file diff --git a/tools/packsrc/Blueprint/shaders/Buffer A.frag b/tools/packsrc/Blueprint/shaders/Buffer A.frag deleted file mode 100644 index 88911a9..0000000 --- a/tools/packsrc/Blueprint/shaders/Buffer A.frag +++ /dev/null @@ -1,8 +0,0 @@ -// the purpose of this buffer is too smooth out the sudden changes in the fft -void mainImage( out vec4 fragColor, in vec2 fragCoord ) -{ - vec2 uv = fragCoord.xy / iResolution.xy; - float old = texture(iChannel1, uv).x; - float new = texture(iChannel0, uv).x; - fragColor = vec4(mix(old, new, new > old ? .4 : .04)); -} \ No newline at end of file diff --git a/tools/packsrc/Blueprint/shaders/Image.frag b/tools/packsrc/Blueprint/shaders/Image.frag deleted file mode 100644 index f20bc03..0000000 --- a/tools/packsrc/Blueprint/shaders/Image.frag +++ /dev/null @@ -1,356 +0,0 @@ -#define SPEED .1 -#define FOV 3. - -#define MAX_STEPS 80 -#define EPS .001 -#define RENDER_DIST 5. -#define AO_SAMPLES 4. -#define AO_RANGE 100. - -#define PI 3.14159265359 -#define saturate(x) clamp(x, 0., 1.) - -// precomputed globals -float _house = 0.; -float _boat = 0.; -float _spaceship = 0.; -float _atmosphere = 0.; -mat3 _kifsRot = mat3(1, 0, 0, 0, 1, 0, 0, 0, 1); -float _kifsOffset = 0.; - -// rotate 2d space with given angle -void tRotate(inout vec2 p, float angel) { - float s = sin(angel), c = cos(angel); - p *= mat2(c, -s, s, c); -} - -// divide 2d space into s chunks around the center -void tFan(inout vec2 p, float s) { - float k = s / PI / 2.; - tRotate(p, -floor((atan(p.y, p.x)) * k + .5) / k); -} - -// rectangle distance -float sdRect(vec2 p, vec2 r) { - p = abs(p) - r; - return min(max(p.x, p.y), 0.) + length(max(p, 0.)); -} - -// box distance -float sdBox(vec3 p, vec3 r) { - p = abs(p) - r; - return min(max(p.x, max(p.y, p.z)), 0.) + length(max(p, 0.)); -} - -// sphere distance -float sdSphere(vec3 p, float r) { - return length(p) - r; -} - -// 3d cross distance -float sdCross(vec3 p, vec3 r) { - p =abs(p) - r; - p.xy = p.x < p.y ? p.xy : p.yx; - p.yz = p.y < p.z ? p.yz : p.zy; - p.xy = p.x < p.y ? p.xy : p.yx; - return length(min(p.yz, 0.)) - max(p.y, 0.); -} - -// union -float opU(float a, float b) { - return min(a, b); -} - -// intersection -float opI(float a, float b) { - return max(a, b); -} - -// substraction -float opS(float a, float b) { - return max(a, -b); -} - -// smooth union -float opSU(float a, float b, float k) -{ - float h = clamp(.5 + .5 * (b - a) / k, 0., 1.); - return mix(b, a, h) - k * h * (1. - h); -} - -// house distance -float sdHouse(vec3 p) { - p.y += .075; - vec3 boxDim = vec3(.2, .15, .2); - - // add the walls - float d = sdBox(p, boxDim); - - // add the windows - vec3 q = abs(p); - vec3 windSize = vec3(.04, .04, .06); - q -= windSize + vec3(.005); - d = opI(d, opU(sdCross(q, windSize), .11 - abs(p.y))); - - // add the roof - q = p; - q.y -= .38; - tFan(q.xz, 4.); - tRotate(q.xy, PI/4.); - d = opU(d, sdBox(q, vec3(.35, .01, .35))); - - // make it hollow - d = opS(d, sdBox(p, boxDim - vec3(.02))); - return d; -} - -// boat distance -float sdBoat(vec3 p) { - - // add the mast (a word I learned today :P) - float d = sdBox(p + vec3(0, .05, 0), vec3(.01, .2, .01)); - - // add the sail - vec3 q = p + vec3(0, -.05, .12); - float a = sdSphere(q, .2); - a = opS(a, sdSphere(q, .195)); - q.x = abs(q.x); - tRotate(q.yx, .1); - a = opI(a, sdBox(q - vec3(0, 0, .1), vec3(.1))); - d = opU(d, a); - - // add the body of the boat - p.x = abs(p.x); - p.x += .1; - a = sdSphere(p, .3); - a = opS(a, sdSphere(p, .29)); - a = opI(a, p.y + .15); - d = opU(d,a); - return d; -} - -// spaceship distance -float sdSpaceship(vec3 p) { - tFan(p.xz, 6.); - p.x += .3; - - // add the cap - float d = sdSphere(p, .4); - d = opS(d, p.y - .12); - - // add the body - d = opU(d, sdSphere(p, .39)); - - // add the fins (another word I learned, thanks google :P) - d = opU(d, opI(sdSphere(p + vec3(0, .24, 0), .41), sdRect(p.zx, vec2(.005, .5)))); - d = opS(d, sdSphere(p + vec3(0, .3, 0), .37)); - d = opS(d, p.y + .25); - return d; -} - -// atmosphere distance -float sdAtmosphere(vec3 p) { - float time = iTime; - tRotate(p.yz, time); - vec3 q = p; - tFan(q.xz, 12.); - float d = sdBox(q - vec3(.3, 0, 0), vec3(.01)); - tRotate(p.yx, time); - q = p; - tFan(q.yz, 12.); - d = opU(d, sdBox(q - vec3(0, .23, 0), vec3(.01))); - tRotate(p.xz, time); - q = p; - tFan(q.yx, 12.); - d = opU(d, sdBox(q - vec3(0, .16, 0), vec3(.01))); - - return d; -} - -// distance estimation of everything together -float map(vec3 p) { - float d = _house <= 0. ? 5. : sdHouse(p) + .1 - _house * .1; - if (_boat > 0.) d = opU(d, sdBoat(p) + .1 - _boat * .1); - if (_spaceship > 0.) d = opU(d, sdSpaceship(p) + .1 - _spaceship * .1); - if (_atmosphere > 0.) d = opU(d, sdAtmosphere(p) + .1 - _atmosphere * .1); - - //return d; - float s = 1.; - for (int i = 0; i < 4; ++i) { - tFan(p.xz, 10.); - p = abs(p); - p -= _kifsOffset; - - p *= _kifsRot; - s *= 2.; - } - - return opSU(d, sdBox(p * s, vec3(s / 17.)) / s, .1); -} - -// trace the scene from ro (origin) to rd (direction, normalized) -// until hit or reached maxDist, outputs distance traveled, the number of steps -// and the closest distance achieved during marching (used of cheap edge detection) -float trace(vec3 ro, vec3 rd, float maxDist, out float steps, out float nt) { - float total = 0.; - steps = 0.; - nt = 100.; - - for (int i = 0; i < MAX_STEPS; ++i) { - ++steps; - float d = map(ro + rd * total); - nt = min(d, nt); - total += d; - if (d < EPS || maxDist < total) break; - } - - return total; -} - -// calculate the normal vector -vec3 getNormal(vec3 p) { - vec2 e = vec2(.0001, 0); - return normalize(vec3( - map(p + e.xyy) - map(p - e.xyy), - map(p + e.yxy) - map(p - e.yxy), - map(p + e.yyx) - map(p - e.yyx) - )); -} - -// ambient occlusion -float calculateAO(vec3 p, vec3 n) { - - float r = 0., w = 1., d; - - for (float i = 1.; i <= AO_SAMPLES; i++){ - d = i / AO_SAMPLES / AO_RANGE; - r += w * (d - map(p + n * d)); - w *= .5; - } - - return 1.-saturate(r * AO_RANGE); -} - -// a lovely function that goes up and down periodically between 0 and 1, pausing at the extremes -float pausingWave(float x, float a, float b) { - x = abs(fract(x) - .5) * 1. - .5 + a; - return smoothstep(0., a - b, x); -} - -void mainImage(out vec4 fragColor, in vec2 fragCoord) { - // transform screen coordinates - vec2 uv = fragCoord.xy / iResolution.xy; - uv = uv * 2. - 1.; - uv.x *= iResolution.x / iResolution.y; - - // transform mouse coordinates - vec2 mouse = iMouse.xy / iResolution.xy * 2. - 1.; - mouse.x *= iResolution.x / iResolution.y; - mouse *= 2.; - - // set time dependent constants - float speed = .25 / 10.5; - float time = mod(iTime, 290.); - time -= 10.5; - if (time > 167.) time -= 167.; else - if (time > 63.) time -= 63.; - time -= 5.25; - time *= speed; - - // these determine which object to show - _house = pausingWave(time, .15, .125); - _boat = pausingWave(time - .125 / .1, .15, .125); - _spaceship = pausingWave(time - .25 / .1, .15, .125); - _atmosphere = pausingWave(time - .375 / .1, .15, .125) * step(10., iTime); - - // set up kifs rotation matrix - float a = -texture(iChannel0, vec2(.5, .25)).x + sin(iTime) * .2 + .9; - float s = sin(a), c = cos(a); - _kifsRot *= mat3(c, -s, 0, s, c, 0, 0, 0, 1); - _kifsRot *= mat3(1, 0, 0, 0, c, -s, 0, s, c); - _kifsRot *= mat3(c, 0, s, 0, 1, 0, -s, 0, c); - - // set up kifs offset - _kifsOffset = .07 + texture(iChannel0, vec2(.1, .25)).x * .06; - - // set up camera position - vec3 rd = normalize(vec3(uv, FOV)); - vec3 ro = vec3(0, 0, -2); - - // light is relative to the camera - vec3 light = vec3(-1., .5, 0); - - vec2 rot = vec2(0); - if (iMouse.z > 0. && iMouse.x > 0. && iMouse.y > 0.) { - // rotate the scene using the mouse - rot = -mouse; - } else { - // otherwise rotate constantly as time passes - rot = vec2( - iTime * SPEED * PI,//had to slightly modify \/ this value due to an issue reported by Fabrice - mix(sin(iTime * SPEED) * PI / 8., PI / 2. - 1e-5, saturate(exp(-iTime + 10.5)))); - } - - tRotate(rd.yz, rot.y); - tRotate(rd.xz, rot.x); - tRotate(light.xz, rot.x); - tRotate(ro.yz, rot.y); - tRotate(ro.xz, rot.x); - - // march - float steps, outline, dist = trace(ro, rd, RENDER_DIST, steps, outline); - - // calculate hit point coordinates - vec3 p = ro + rd * dist; - - // calculate normal - vec3 normal = getNormal(p); - - // light direction - vec3 l = normalize(light - p); - - // ambient light - float ambient = .1; - - // diffuse light - float diffuse = max(0., dot(l, normal)); - - // specular light - float specular = pow(max(0., dot(reflect(-l, normal), -rd)), 4.); - - // "ambient occlusion" - float ao = calculateAO(p, normal); - - // create the background grid - vec2 gridUv = fragCoord.xy - iResolution.xy / 2.; - float grid = dot(step(mod(gridUv.xyxy, vec4(20, 20, 100, 100)), vec4(1)), vec4(.1, .1, .2, .2)); - - // create blue background - vec3 bg = vec3(0, .1, .3) * saturate(1.5 - length(uv) * .5); - - // find the edges in the geometry - float edgeWidth = .0015; - float edge = smoothstep(1., .0, dot(normal, getNormal(p - normal * edgeWidth))) * step(length(p), 1.); - - // get the outline of the shapes - outline = smoothstep(.005, .0, outline) * step(1., length(p)); - - // diagonal strokes used for shading - vec2 strokes = sin(vec2(uv.x + uv.y, uv.x - uv.y) * iResolution.y * PI / 4.) * .5 - .5; - - // first part of the shading: ao + marching steps - float highlights = (steps / float(MAX_STEPS) + sqrt(1. - ao)) * step(length(p), 1.) * .5; - highlights = floor(highlights * 5.) / 10.; - - // second part of the shading: ambient + diffuse + specular light - float fog = saturate(length(ro) - dist * dist * .25); - float lightValue = (ambient + diffuse + specular) * fog; - lightValue = floor(lightValue * 5.) / 10.; - - fragColor.rgb = mix(bg, vec3(1., .9, .7), - max(max(max(saturate(highlights + strokes.x), saturate(lightValue + strokes.y)) * fog, - (edge + outline) * 2. + strokes.y), grid)); - - // gamma correction - fragColor = pow(saturate(fragColor), vec4(1. / 2.2)) * step(abs(uv.y), 1.); -} \ No newline at end of file diff --git a/tools/packsrc/Homecomputer/images/iChannel1.png b/tools/packsrc/Homecomputer/images/iChannel1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d586afb51b8695e2e31a3a39b6c07e91e75e0e8 GIT binary patch literal 75364 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 30.) + { + col = vec4(.0,-.2, -0.,0); + } + + col.a = q.x; + + fragColor = col; +} \ No newline at end of file diff --git a/tools/packsrc/Homecomputer/shaders/Buffer B.frag b/tools/packsrc/Homecomputer/shaders/Buffer B.frag new file mode 100644 index 0000000..2856fc8 --- /dev/null +++ b/tools/packsrc/Homecomputer/shaders/Buffer B.frag @@ -0,0 +1,73 @@ +// Homecomputer by nimitz 2016 (twitter: @stormoid) +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License +// Contact the author for other licensing options + +//Rendering + +/* + This buffer renders each particles + multiple times per frame to allow particles + to move more than one pixel per frame while still + leaving a solid trail. +*/ + +#define time iTime +const int numParticles = 100; +const int stepsPerFrame = 9; + +mat2 mm2(in float a){float c = cos(a), s = sin(a);return mat2(c,s,-s,c);} +float mag(vec3 p){return dot(p,p);} + +vec4 drawParticles(in vec3 ro, in vec3 rd, in float ints) +{ + vec4 rez = vec4(0); + vec2 w = 1./iResolution.xy; + + for (int i = 0; i < numParticles; i++) + { + vec3 pos = texture(iChannel0, vec2(i,100.0)*w).rgb; + vec3 vel = texture(iChannel0, vec2(i,0.0)*w).rgb; + + float st = sin(time*0.6); + + for(int j = 0; j < stepsPerFrame; j++) + { + float d = mag((ro + rd*dot(pos.xyz - ro, rd)) - pos.xyz); + d *= 1000.; + d = 2./(pow(d,1.+ sin(time*0.6)*0.15)+1.5); + d *= (st+4.)*.8; + + rez.rgb += d*(sin(vec3(.7,2.0,2.5)+float(i)*.015 + time*0.3 + vec3(5,1,6))*0.45+0.55)*0.005; + + pos.xyz += vel*0.002*1.5; + } + } + + return rez; +} + +void mainImage(out vec4 fragColor, in vec2 fragCoord) +{ + vec2 q = fragCoord.xy/iResolution.xy; + vec2 p = fragCoord.xy/iResolution.xy-0.5; + p.x*=iResolution.x/iResolution.y; + + vec3 ro = vec3(0.,0.,2.7); + vec3 rd = normalize(vec3(p,-.5)); + + vec3 sndNFO = texture(iChannel2, vec2(0.65, 0.1)).zwx + vec3(-.5, -0.1, -0.0); + + vec4 cola = drawParticles(ro, rd, sndNFO.y)*10.; + //if (mod(time+q.x*.15+q.y*0.15,28.) < 14.)cola = vec4(.9,.95,1.,1.)-cola*.9; //Invert colors + + vec2 mv = vec2(pow(sndNFO.z,2.)*0.05,sndNFO.x*.95); + mv *= mm2(time*1.); + + vec4 colb = texture(iChannel1, q+mv); + //vec4 colb = texture(iChannel1, q); + + vec4 col = mix(cola, colb, 0.91); + if (iFrame < 5) col = vec4(0); + + fragColor = col; +} \ No newline at end of file diff --git a/tools/packsrc/Homecomputer/shaders/Buffer C.frag b/tools/packsrc/Homecomputer/shaders/Buffer C.frag new file mode 100644 index 0000000..e8de98b --- /dev/null +++ b/tools/packsrc/Homecomputer/shaders/Buffer C.frag @@ -0,0 +1,51 @@ +// Homecomputer by nimitz 2016 (twitter: @stormoid) +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License +// Contact the author for other licensing options + +/* + The goal of this Buffer is to prepare + the sound data so that it can be used + by the other buffers + + Data output: + x = fft + y = waveform + z = filtered waveform + w = filtered fft summed over many bands +*/ + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 q = fragCoord.xy/iResolution.xy; + float fft = texture( iChannel1, vec2(q.x,0.25) ).x; + float nwave = texture( iChannel1, vec2(q.x,0.75) ).x; + + float owave = texture( iChannel0, vec2(q.x,0.25) ).z; + float offt = texture( iChannel0, vec2(q.x,0.25) ).w; + + + float fwave = mix(nwave,owave, 0.85); + + + /* + get fft sum over many bands, this will allow + to ge tthe current "intensity" of a track + */ + float nfft = 0.; + for (float i = 0.; i < 1.; i += 0.05) + { + nfft += texture( iChannel1, vec2(i,0.25) ).x; + } + nfft = clamp(nfft/30.,0.,1.); + + float ffts = mix(nfft, offt, 0.8); + + if (iFrame < 5) + { + fft = 0.; + fwave= .5; + ffts = 0.; + } + + fragColor = vec4(fft, nwave, fwave, ffts); +} \ No newline at end of file diff --git a/tools/packsrc/Homecomputer/shaders/Image.frag b/tools/packsrc/Homecomputer/shaders/Image.frag new file mode 100644 index 0000000..38e9955 --- /dev/null +++ b/tools/packsrc/Homecomputer/shaders/Image.frag @@ -0,0 +1,20 @@ +// Homecomputer by nimitz 2016 (twitter: @stormoid) +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License +// Contact the author for other licensing options + +//Code is in the other tabs: +//Buf A = Velocity and position handling +//Buf B = Rendering +//Buf C = Soundcloud filtering and propagation + +#define time iTime + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 q = fragCoord.xy / iResolution.xy; + vec3 col = texture(iChannel0, q).rgb; + col *= sin(gl_FragCoord.y*350.+time)*0.04+1.;//Scanlines + col *= sin(gl_FragCoord.x*350.+time)*0.04+1.; + col *= pow( 16.0*q.x*q.y*(1.0-q.x)*(1.0-q.y), 0.1)*0.35+0.65; //Vign + fragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/Lucid Dreams/shaders/Colorful_Lens.frag.qsb b/tools/packsrc/Lucid Dreams/shaders/Colorful_Lens.frag.qsb new file mode 100644 index 0000000000000000000000000000000000000000..e260a3593c084aefadfc34ce2cb3dcaad145096d GIT binary patch literal 4787 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 p.x)p = p.yx; +} + +vec3 get_cam(vec3 ro, vec3 ta, vec2 uv) { + vec3 fwd = normalize(ta - ro); + vec3 right = normalize(cross(fwd, vec3(0, 1, 0))); + + //vec3 right = normalize(vec3(-fwd.z, 0, fwd.x)); + return normalize(fwd + right * uv.x + cross(right, fwd) * uv.y); +} + +// signed cube +// https://iquilezles.org/articles/distfunctions +float cube(vec3 p, vec3 b) { + b = abs(p) - b; + return min(max(b.x, max(b.y, b.z)), 0.) + length(max(b, 0.)); +} + +// iq's signed cross sc() - https://iquilezles.org/articles/menger +float sc(vec3 p, float d) { + p = abs(p); + p = max(p, p.yzx); + return min(p.x, min(p.y, p.z)) - d; +} + + +////////////////////////// SHADER LSDLIVE ////////////////////////// + +float prim(vec3 p) { + + p.xy *= r2d(3.14 * .5 + p.z * .1); // .1 + + amod2(p.xy, 6.28 / 3.); // 3. + p.x = abs(p.x) - 9.; // 9. + + p.xy *= r2d(p.z * .2); // .2 + + amod2(p.xy, 6.28 / + mix( + mix(10., 5., smoothstep(59.5, 61.5, time)), // T4 + 3., + smoothstep(77.5, 77.75, time)) // T8 + ); // 3. + mo(p.xy, vec2(2.)); // 2. + + p.x = abs(p.x) - .6; // .6 + return length(p.xy) - .2;//- smoothstep(80., 87., time)*(.5+.5*sin(time)); // .2 +} + +float g = 0.; // glow +float de(vec3 p) { + + if (time > 109.2) { + mo(p.xy, vec2(.2)); + p.x -= 10.; + } + + if (time > 101.4) { + p.xy *= r2d(time*.2); + } + + if (time > 106.5) { + mo(p.xy, vec2(5. + sin(time)*3.*cos(time*.5), 0.)); + } + + if (time > 104.) { + amod2(p.xy, 6.28 / 3.); + p.x += 5.; + } + + if (time > 101.4) { + mo(p.xy, vec2(2. + sin(time)*3.*cos(time*.5), 0.)); + } + + p.xy *= r2d(time * .05); // .05 + + p.xy *= r2d(p.z * + mix(.05, .002, step(89.5, time)) // P2 - T11 + ); // .05 & .002 + + p.x += sin(time) * smoothstep(77., 82., time); + + amod2(p.xy, 6.28 / + mix( + mix(1., 2., smoothstep(63.5, 68.5, time)), // T6 + 5., + smoothstep(72., 73.5, time)) // T7 + ); // 5. + p.x -= 21.; // 21. + + vec3 q = p; + + p.xy *= r2d(p.z * .1); // .1 + + amod2(p.xy, 6.28 / 3.); // 3. + p.x = abs(p.x) - + mix(20., 5., smoothstep(49.5, 55., time)) // T2 + ; // 5. + + p.xy *= r2d(p.z * + mix(1., .2, smoothstep(77.5, 77.75, time)) // T8b + ); // .2 + + p.z = re(p.zzz, 3.).x; // 3. + + p.x = abs(p.x); + amod2(p.xy, 6.28 / + mix(6., 3., smoothstep(77.75, 78.5, time)) // T10 + ); // 3. + float sc1 = sc(p, + mix(8., 1., smoothstep(45.5, 51., time)) // T1 + ); // 1. + + amod2(p.xz, 6.28 / + mix(3., 8., smoothstep(61.5, 65.5, time)) // T5 + ); // 8. + mo(p.xz, vec2(.1)); // .1 + + p.x = abs(p.x) - 1.;// 1. + + float d = cube(p, vec3(.2, 10, 1)); // fractal primitive: cube substracted by a signed cross + d = max(d, -sc1) - + mix(.01, 2., smoothstep(56., 58.5, time)) // T3 + ; // 2. + + + g += .006 / (.01 + d * d); // first layer of glow + + d = min(d, prim(q)); // add twisted cylinders + + g += .004 / (.013 + d * d); // second layer of glow (after the union of two geometries) + + return d; +} + + +////////////////////////// RAYMARCHING FUNCTIONS ////////////////////////// + + +vec3 raymarch_lsdlive(vec3 ro, vec3 rd, vec2 uv) { + vec3 p; + float t = 0., ri; + + float dither = random(uv); + + for (float i = 0.; i < 1.; i += .02) {// 50 iterations to keep it "fast" + ri = i; + p = ro + rd * t; + float d = de(p); + d *= 1. + dither * .05; // avoid banding & add a nice "artistic" little noise to the rendering (leon gave us this trick) + d = max(abs(d), .002); // phantom mode trick from aiekick https://www.shadertoy.com/view/MtScWW + t += d * .5; + } + + // Shading: uv, iteration & glow: + vec3 c = mix(vec3(.9, .8, .6), vec3(.1, .1, .2), length(uv) + ri); + c.r += sin(p.z * .1) * .2; + c += g * .035; // glow trick from balkhan https://www.shadertoy.com/view/4t2yW1 + + return c; +} + +// borrowed from (mmerchante) : https://www.shadertoy.com/view/MltcWs +void glitch(inout vec2 uv, float start_time_stamp, float end_time_stamp) +{ + int offset = int(floor(time)*2.) + int((uv.x + uv.y) * 8.0); + float res = mix(10., 100.0, random(vec2(offset))); + + // glitch pixellate + if (time > start_time_stamp && time <= end_time_stamp) uv = floor(uv * res) / res; + + int seedX = int(gl_FragCoord.x + time) / 32; + int seedY = int(gl_FragCoord.y + time) / 32; + int seed = mod(time, 2.) > 1. ? seedX : seedY; + + + // glitch splitter + uv.x += (random(vec2(seed)) * 2.0 - 1.0) + * step(random(vec2(seed)), pow(sin(time * 4.), 7.0)) + * random(vec2(seed)) + * step(start_time_stamp, time) + * (1. - step(end_time_stamp, time)); +} + +////////////////////////// MAIN FUNCTION ////////////////////////// + +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + vec2 q = fragCoord.xy / iResolution.xy; + vec2 uv = (q - .5) * iResolution.xx / iResolution.yx; + + /* just code for the shadertoy port */ + time = mod(iTime, 43. + 10.4); + time = time + 45.; + if (time > 88. && time <= 98.6) // 98. + time += 10.6; + + + // added glitch + glitch(uv, 0., 2.); + + glitch(uv, 98., 99.); + // lsdlive 2nd part + glitch(uv, 100.5, 101.5); + glitch(uv, 103., 104.); + glitch(uv, 105.5, 106.5); + + vec3 lsd_ro = vec3(0, 0, -4. + time * 8.); + vec3 lsd_target = vec3(0., 0., time * 8.); + vec3 lsd_cam = get_cam(lsd_ro, lsd_target, uv); + + vec3 col = vec3(0.); + + if (time > 45. && time <= 88.) // 43 seconds + col = raymarch_lsdlive(lsd_ro, lsd_cam, uv); + + if (time > 98.6 && time <= 109.) // 10.4 seconds + col = raymarch_lsdlive(lsd_ro, lsd_cam, uv); + + + // vignetting (iq) + col *= 0.5 + 0.5*pow(16.0*q.x*q.y*(1.0 - q.x)*(1.0 - q.y), 0.25); + + // fading out - end of the demo + //col *= 1. - smoothstep(120., 125., time); + + fragColor = vec4(col, 1.); +} \ No newline at end of file diff --git a/tools/packsrc/Neon Rings/pack.json b/tools/packsrc/Neon Rings/pack.json new file mode 100644 index 0000000..a53783e --- /dev/null +++ b/tools/packsrc/Neon Rings/pack.json @@ -0,0 +1,30 @@ +{ + "author": "cpdt", + "name": "Neon Rings", + "version": "1.0.0", + "description": "An audio-reactive set of smokey neon rings", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "XllcR4", + "tags": [ + "reactive", + "rings", + "neon" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "bufferA": + { + "source": "./shaders/Buffer A.frag.qsb", + "frame_buffer_channel": 1, + + "channel0": + { + "type": 4 + } + }, + + "channel0": "{bufferA}" +} \ No newline at end of file diff --git a/tools/packsrc/Neon Rings/shaders/Image.frag b/tools/packsrc/Neon Rings/shaders/Image.frag new file mode 100644 index 0000000..5bb0eae --- /dev/null +++ b/tools/packsrc/Neon Rings/shaders/Image.frag @@ -0,0 +1,87 @@ +/* @kishimisu - 2023 + + This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en) + + An audio-reactive scene that maps the frequencies of the input music + and the audio volume to different cells, colors, size and intensity! + + I've been struggling to complete this scene as I wanted to repeat + the space with random variations for each cell. There's a wonderful + tutorial by Blackle Mori explaining how to achieve this (https://www.youtube.com/watch?v=I8fmkLK1OKg) , + however I'm using an accumulation technique for the lighting with a + fixed number of steps (30) which gets broken with this new technique. + + I decided to keep a reasonable random variation amount to prevent having + raymarching artifacts that are too visible. I couldn't get totally rid of them, + however with this kind of audio reactive scene it seems to be more acceptable + as there's a lot of rapid movements! +*/ + +#define light(d, att) 1. / (1.+pow(abs(d*att), 1.3)) +#define rot(a) mat2(cos(a + vec4(0,33,11,0))) + +/* Audio-related functions */ +#define getLevel(x) (texelFetch(iChannel0, ivec2(int(x*512.), 0), 0).r) +#define logX(x,a,c) (1./(exp(-a*(x-c))+1.)) +float logisticAmp(float amp){ + float c = .88, a = 20.; + return (logX(amp, a, c) - logX(0.0, a, c)) / (logX(1.0, a, c) - logX(0.0, a, c)); +} +float getPitch(float freq, float octave){ + freq = pow(2., freq) * 261.; + freq = pow(2., octave) * freq / 12000.; + return logisticAmp(getLevel(freq)); +} +float getVol(float samples) { + float avg = 0.; + for (float i = 0.; i < samples; i++) avg += getLevel(i/samples); + return avg / samples; +} +/* ----------------------- */ + +float sdBox( vec3 p, vec3 b ) { + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0); +} +float hash13(vec3 p3) { + p3 = fract(p3 * .1031); + p3 += dot(p3, p3.zyx + 31.32); + return fract((p3.x + p3.y) * p3.z); +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) { + vec2 uv = (2.*fragCoord-iResolution.xy)/iResolution.y; + vec3 col = vec3(.1,.0,.14); + float vol = getVol(8.); + + vec3 ro = vec3(0, 8, 12)*(1. + vol*.3); + ro.zx *= rot(iTime*.4); + vec3 f = normalize(-ro), r = normalize(cross(vec3(0,1,0), f)); + vec3 rd = normalize(f + uv.x*r + uv.y*cross(f, r)); + + float hasSound = 1.; if (iChannelTime[0] <= 0.) hasSound = .4; + + for (float i = 0., t = 0.; i < 30.; i++) { + vec3 p = ro + t*rd; + + vec2 cen = floor(p.xz) + .5; + vec3 id = abs(vec3(cen.x, 0, cen.y)); + float d = length(id); + + float freq = smoothstep(0., 20., d)*3.*hasSound + hash13(id)*2.; + float pitch = getPitch(freq, .7); + + float v = vol*smoothstep(2., 0., d); + float h = d*.2*(1.+pitch*1.5) + v*2.; + float me = sdBox(p - vec3(cen.x, -50., cen.y), vec3(.3, 50. + h, .3)+pitch) - .05; + + col += mix(mix(vec3(.8,.2,.4), vec3(0,1,0), min(v*2.,1.)), vec3(.5,.3,1.2), smoothstep(10., 30., d)) + *(cos(id)+1.5) + * (pitch * d*.08 + v) + * light(me, 20.) * (1. + vol*2.); + + t += me; + } + + fragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/Neonwave Sunset/pack.json b/tools/packsrc/Neonwave Sunset/pack.json new file mode 100644 index 0000000..8dbc1a0 --- /dev/null +++ b/tools/packsrc/Neonwave Sunset/pack.json @@ -0,0 +1,22 @@ +{ + "author": "mrange", + "name": "Neonwave Sunset", + "version": "1.0.0", + "description": "Code is hackish but I thought it looked good enough to share", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "7dtcRj", + "tags": [ + "reactive", + "retro", + "neon" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "channel0": + { + "type": 4 + } +} \ No newline at end of file diff --git a/tools/packsrc/Neonwave Sunset/shaders/Image.frag b/tools/packsrc/Neonwave Sunset/shaders/Image.frag new file mode 100644 index 0000000..04f99f1 --- /dev/null +++ b/tools/packsrc/Neonwave Sunset/shaders/Image.frag @@ -0,0 +1,390 @@ +// License CC0: Neon Sunset +// Code is hackish but I thought it looked good enough to share +// The music from GTA III - RISE FM, the best radio channel in GTA III IMHO +#define LAYERS 5.0 +#define PI 3.141592654 +#define TAU (2.0*PI) +#define TIME iTime +#define TTIME (TAU*TIME) +#define RESOLUTION iResolution +#define ROT(a) mat2(cos(a), sin(a), -sin(a), cos(a)) + +// License: Unknown, author: nmz (twitter: @stormoid), found: https://www.shadertoy.com/view/NdfyRM +float sRGB(float t) { return mix(1.055*pow(t, 1./2.4) - 0.055, 12.92*t, step(t, 0.0031308)); } +// License: Unknown, author: nmz (twitter: @stormoid), found: https://www.shadertoy.com/view/NdfyRM +vec3 sRGB(in vec3 c) { return vec3 (sRGB(c.x), sRGB(c.y), sRGB(c.z)); } + +// License: Unknown, author: Matt Taylor (https://github.com/64), found: https://64.github.io/tonemapping/ +vec3 aces_approx(vec3 v) { + v = max(v, 0.0); + v *= 0.6f; + float a = 2.51f; + float b = 0.03f; + float c = 2.43f; + float d = 0.59f; + float e = 0.14f; + return clamp((v*(a*v+b))/(v*(c*v+d)+e), 0.0f, 1.0f); +} + +// License: Unknown, author: Unknown, found: don't remember +float hash(float co) { + return fract(sin(co*12.9898) * 13758.5453); +} + + +// License: Unknown, author: Unknown, found: don't remember +vec2 hash2(vec2 p) { + p = vec2(dot (p, vec2 (127.1, 311.7)), dot (p, vec2 (269.5, 183.3))); + return fract(sin(p)*43758.5453123); +} + +// License: CC BY-NC-SA 3.0, author: Stephane Cuillerdier - Aiekick/2015 (twitter:@aiekick), found: https://www.shadertoy.com/view/Mt3GW2 +vec3 blackbody(float Temp) { + vec3 col = vec3(255.); + col.x = 56100000. * pow(Temp,(-3. / 2.)) + 148.; + col.y = 100.04 * log(Temp) - 623.6; + if (Temp > 6500.) col.y = 35200000. * pow(Temp,(-3. / 2.)) + 184.; + col.z = 194.18 * log(Temp) - 1448.6; + col = clamp(col, 0., 255.)/255.; + if (Temp < 1000.) col *= Temp/1000.; + return col; +} + +// License: WTFPL, author: sam hocevar, found: https://stackoverflow.com/a/17897228/418488 +const vec4 hsv2rgb_K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); +vec3 hsv2rgb(vec3 c) { + vec3 p = abs(fract(c.xxx + hsv2rgb_K.xyz) * 6.0 - hsv2rgb_K.www); + return c.z * mix(hsv2rgb_K.xxx, clamp(p - hsv2rgb_K.xxx, 0.0, 1.0), c.y); +} +#define HSV2RGB(c) (c.z * mix(hsv2rgb_K.xxx, clamp(abs(fract(c.xxx + hsv2rgb_K.xyz) * 6.0 - hsv2rgb_K.www) - hsv2rgb_K.xxx, 0.0, 1.0), c.y)) + +// License: Unknown, author: Unknown, found: don't remember +float tanh_approx(float x) { +// return tanh(x); + float x2 = x*x; + return clamp(x*(27.0 + x2)/(27.0+9.0*x2), -1.0, 1.0); +} + +float circle(vec2 p, float r) { + return length(p) - r; +} + +// License: MIT, author: Inigo Quilez, found: https://iquilezles.org/articles/smin +float pmin(float a, float b, float k) { + float h = clamp( 0.5+0.5*(b-a)/k, 0.0, 1.0 ); + return mix( b, a, h ) - k*h*(1.0-h); +} + +// License: MIT OR CC-BY-NC-4.0, author: mercury, found: https://mercury.sexy/hg_sdf/ +float mod1(inout float p, float size) { + float halfsize = size*0.5; + float c = floor((p + halfsize)/size); + p = mod(p + halfsize, size) - halfsize; + return c; +} + +// License: MIT OR CC-BY-NC-4.0, author: mercury, found: https://mercury.sexy/hg_sdf/ +vec2 mod2(inout vec2 p, vec2 size) { + vec2 c = floor((p + size*0.5)/size); + p = mod(p + size*0.5,size) - size*0.5; + return c; +} + +// License: MIT, author: Inigo Quilez, found: https://iquilezles.org/articles/intersectors +float rayPlane(vec3 ro, vec3 rd, vec4 p) { + return -(dot(ro,p.xyz)+p.w)/dot(rd,p.xyz); +} + +vec3 toSpherical(vec3 p) { + float r = length(p); + float t = acos(p.z/r); + float ph = atan(p.y, p.x); + return vec3(r, t, ph); +} + +float sun(vec2 p) { + const float ch = 0.0125; + vec2 sp = p; + float d0 = circle(sp, 0.5); + float d = d0; + return d; +} + +float segmentx(vec2 p) { + float d0 = abs(p.y); + float d1 = length(p); + return p.x > 0.0 ? d0 : d1; +} + +float segmentx(vec2 p, float l) { + float hl = 0.5*l; + p.x = abs(p.x); + float d0 = abs(p.y); + float d1 = length(p-vec2(hl, 0.0)); + return p.x > hl ? d1 : d0; +} + +float synth(vec2 p, float aa, out float h, out float db) { + const float z = 75.0; + p.y -= -70.0; + const float st = 0.04; + p.x = abs(p.x); + p.x -= 20.0-3.5; + p.x += st*20.0; + p /= z; + float n = mod1(p.x, st); + float dib = 1E6; + const int around = 0; + for (int i = -around; i <=around ;++i) { + float fft = texture(iChannel0, vec2((n+float(i))*st, 0.25)).x; + fft *= fft; + if (i == 0) h = fft; + float dibb = segmentx((p-vec2(st*float(i), 0.0)).yx, fft+0.05)-st*0.4; + dib = min(dib, dibb); + } + + float d = dib; + db = abs(p.y)*z; + return smoothstep(aa, -aa, d*z); +} + +vec3 road(vec3 ro, vec3 rd, vec3 nrd, float glare, vec4 pl, out float pt) { + const float szoom = 0.5; + const float bsz = 25.0; + const float sm = 1.0; + float off = abs(pl.w); + float t = rayPlane(ro, rd, pl); + pt = t; + + vec3 p = ro+rd*t; + vec3 np = ro+nrd*t; + + vec2 pp = p.xz; + vec2 npp = np.xz; + vec2 opp = pp; + + float aa = length(npp-pp)*sqrt(0.5); + pp.y += -60.0*TIME; + + vec3 gcol = vec3(0.0); + + float dr = abs(pp.x)-off; + vec2 cp = pp; + mod1(cp.y, 6.0*off); + vec2 sp = pp; + sp.x = abs(sp.x); + mod1(sp.y, off); + float dcl = segmentx(cp.yx, 1.5*off); + float dsl = segmentx((sp-vec2(0.95*off, 0.0)).yx, off*0.5); + + vec2 mp = pp; + mod2(mp, vec2(off*0.5)); + + vec2 dp = abs(mp); + float d = dp.x; + d = pmin(d, dp.y, sm); + d = max(d, -dr); + d = min(d, dcl); + d = min(d, dsl); + vec2 s2 = sin(TIME+2.0*p.xz/off); + float m = mix(0.75, 0.9, tanh_approx(s2.x+s2.y)); + m *= m; + m *= m; + m *= m; + vec3 hsv = vec3(0.4+mix(0.5, 0.0, m), tanh_approx(0.15*mix(30.0, 10.0, m)*d), 1.0); + float fo = exp(-0.04*max(abs(t)-off*2., 0.0)); + vec3 bcol = hsv2rgb(hsv); + gcol += 2.0*bcol*exp(-0.1*mix(30.0, 10.0, m)*d)*fo; + + float sh; + float sdb; + float sd =synth(opp, aa,sh, sdb)*smoothstep(aa, -aa, -dr); + sh = tanh_approx(sh); + sdb *= 0.075; + sdb *= sdb; + sdb += 0.05; + vec3 scol = sd*(sdb)*pow(tanh(vec3(0.1)+bcol), mix(vec3(1.0), vec3(1.5, 0.5, 0.5), smoothstep(0.4, 0.5, sh))); + gcol += scol; + + + gcol = t > 0.0 ? gcol : vec3(0.0); + return gcol+scol; +} + +vec3 stars(vec2 sp, float hh) { + vec3 col = vec3(0.0); + + const float m = LAYERS; + hh = tanh_approx(20.0*hh); + + for (float i = 0.0; i < m; ++i) { + vec2 pp = sp+0.5*i; + float s = i/(m-1.0); + vec2 dim = vec2(mix(0.05, 0.003, s)*PI); + vec2 np = mod2(pp, dim); + vec2 h = hash2(np+127.0+i); + vec2 o = -1.0+2.0*h; + float y = sin(sp.x); + pp += o*dim*0.5; + pp.y *= y; + float l = length(pp); + + float h1 = fract(h.x*1667.0); + float h2 = fract(h.x*1887.0); + float h3 = fract(h.x*2997.0); + + vec3 scol = mix(8.0*h2, 0.25*h2*h2, s)*blackbody(mix(3000.0, 22000.0, h1*h1)); + + vec3 ccol = col + exp(-(mix(6000.0, 2000.0, hh)/mix(2.0, 0.25, s))*max(l-0.001, 0.0))*scol; + ccol *= mix(0.125, 1.0, smoothstep(1.0, 0.99, sin(0.25*TIME+TAU*h.y))); + col = h3 < y ? ccol : col; + } + + return col; +} + +vec3 meteorite(vec2 sp) { + const float period = 3.0; + float mtime = mod(TIME, period); + float ntime = floor(TIME/period); + float h0 = hash(ntime+123.4); + float h1 = fract(1667.0*h0); + float h2 = fract(9967.0*h0); + vec2 mp = sp; + mp.x += -1.0; + mp.y += -0.5*h1; + mp.y += PI*0.5; + mp *= ROT(PI+mix(-PI/4.0, PI/4.0, h0)); + float m = mtime/period; + mp.x += mix(-1.0, 2.0, m); + + float d0 = length(mp); + float d1 = segmentx(mp); + + vec3 col = vec3(0.0); + + col += 0.5*exp(-4.0*max(d0, 0.0))*exp(-1000.0*max(d1, 0.0)); + col *= 2.0*HSV2RGB(vec3(0.8, 0.5, 1.0)); + float fl = smoothstep(-0.5, 0.5, sin(12.0*TTIME)); + col += mix(1.0, 0.5, fl)*exp(-mix(100.0, 150.0, fl)*max(d0, 0.0)); + + col = h2 > 0.8 ? col: vec3(0.0); + return col; +} + +vec3 skyGrid(vec2 sp) { + const float m = 1.0; + + const vec2 dim = vec2(1.0/12.0*PI); + float y = sin(sp.x); + vec2 pp = sp; + vec2 np = mod2(pp, dim*vec2(1.0/floor(1.0/y), 1.0)); + + vec3 col = vec3(0.0); + + float d = min(abs(pp.x), abs(pp.y*y)); + + float aa = 2.0/RESOLUTION.y; + + col += 0.25*vec3(0.5, 0.5, 1.0)*exp(-2000.0*max(d-0.00025, 0.0)); + + return col; +} + + +vec3 sunset(vec2 sp, vec2 nsp) { + const float szoom = 0.5; + float aa = length(nsp-sp)*sqrt(0.5); + sp -= vec2(vec2(0.5, -0.5)*PI); + sp /= szoom; + sp = sp.yx; + sp.y += 0.22; + sp.y = -sp.y; + float ds = sun(sp)*szoom; + + vec3 bscol = hsv2rgb(vec3(fract(0.7-0.25*(sp.y)), 1.0, 1.0)); + vec3 gscol = 0.75*sqrt(bscol)*exp(-50.0*max(ds, 0.0)); + vec3 scol = mix(gscol, bscol, smoothstep(aa, -aa, ds)); + return scol; +} + +vec3 glow(vec3 ro, vec3 rd, vec2 sp, vec3 lp) { + float ld = max(dot(normalize(lp-ro), rd),0.0); + float y = -0.5+sp.x/PI; + y = max(abs(y)-0.02, 0.0)+0.1*smoothstep(0.5, PI, abs(sp.y)); + float ci = pow(ld, 10.0)*2.0*exp(-25.0*y); + float h = 0.65; + vec3 col = hsv2rgb(vec3(h, 0.75, 0.35*exp(-15.0*y)))+HSV2RGB(vec3(0.8, 0.75, 0.5))*ci; + return col; +} + + + +vec3 neonSky(vec3 ro, vec3 rd, vec3 nrd, out float gl) { + const vec3 lp = 500.0*vec3(0.0, 0.25, -1.0); + const vec3 skyCol = HSV2RGB(vec3(0.8, 0.75, 0.05)); + + + float glare = pow(abs(dot(rd, normalize(lp))), 20.0); + + vec2 sp = toSpherical(rd.xzy).yz; + vec2 nsp = toSpherical(nrd.xzy).yz; + vec3 grd = rd; + grd.xy *= ROT(0.025*TIME); + vec2 spp = toSpherical(grd).yz; + + float gm = 1.0/abs(rd.y)*mix(0.005, 2.0, glare); + vec3 col = skyCol*gm; + float ig = 1.0-glare; + col += glow(ro, rd, sp, lp); + if (rd.y > 0.0) { + col += sunset(sp, nsp); + col += stars(sp, 0.0)*ig; + col += skyGrid(spp)*ig; + col += meteorite(sp)*ig; + } + gl = glare; + return col; +} + +vec3 color(vec3 ro, vec3 rd, vec3 nrd) { + const float off1 = -20.0; + const vec4 pl1 = vec4(normalize(vec3(0.0, 1.0, 0.15)), -off1); + float glare; + vec3 col = neonSky(ro, rd, nrd, glare); + if (rd.y < 0.0) { + float t; + col += road(ro, rd, nrd, glare, pl1, t); + } + return col; +} + +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + vec2 q = fragCoord/RESOLUTION.xy; + vec2 p = -1.0 + 2.0*q; + p.x *= RESOLUTION.x/RESOLUTION.y; + float aa = 2.0/RESOLUTION.y; + vec3 ro = vec3(0.0, 0.0, 10.0); + vec3 la = vec3(0.0, 2.0, 0.0); + vec3 up = vec3(0.0, 1.0, 0.0); + + vec3 ww = normalize(la - ro); + vec3 uu = normalize(cross(up, ww )); + vec3 vv = normalize(cross(ww,uu)); + const float fov = tan(TAU/6.0); + vec2 np = p + vec2(aa); + vec3 rd = normalize(-p.x*uu + p.y*vv + fov*ww); + vec3 nrd = normalize(-np.x*uu + np.y*vv + fov*ww); + + + vec3 col = vec3(0.1); + col = color(ro, rd, nrd); +// col += synth(p, np); + col *= smoothstep(0.0, 4.0, TIME); + col = aces_approx(col); + col = sRGB(col); + + + fragColor = vec4(col, 1.0); +} + diff --git a/tools/packsrc/Pixel Room 2/pack.json b/tools/packsrc/Pixel Room 2/pack.json new file mode 100644 index 0000000..1ce9279 --- /dev/null +++ b/tools/packsrc/Pixel Room 2/pack.json @@ -0,0 +1,22 @@ +{ + "author": "kishimisu", + "name": "Pixel Room 2", + "version": "1.0.0", + "description": "An audio-reactive scene that maps the frequencies of the input music and the audio volume to different cells, colors, size and intensity!", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "Dtj3zW", + "tags": [ + "reactive", + "pixel", + "neon" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "channel0": + { + "type": 4 + } +} \ No newline at end of file diff --git a/tools/packsrc/Pixel Room 2/shaders/Image.frag b/tools/packsrc/Pixel Room 2/shaders/Image.frag new file mode 100644 index 0000000..5bb0eae --- /dev/null +++ b/tools/packsrc/Pixel Room 2/shaders/Image.frag @@ -0,0 +1,87 @@ +/* @kishimisu - 2023 + + This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en) + + An audio-reactive scene that maps the frequencies of the input music + and the audio volume to different cells, colors, size and intensity! + + I've been struggling to complete this scene as I wanted to repeat + the space with random variations for each cell. There's a wonderful + tutorial by Blackle Mori explaining how to achieve this (https://www.youtube.com/watch?v=I8fmkLK1OKg) , + however I'm using an accumulation technique for the lighting with a + fixed number of steps (30) which gets broken with this new technique. + + I decided to keep a reasonable random variation amount to prevent having + raymarching artifacts that are too visible. I couldn't get totally rid of them, + however with this kind of audio reactive scene it seems to be more acceptable + as there's a lot of rapid movements! +*/ + +#define light(d, att) 1. / (1.+pow(abs(d*att), 1.3)) +#define rot(a) mat2(cos(a + vec4(0,33,11,0))) + +/* Audio-related functions */ +#define getLevel(x) (texelFetch(iChannel0, ivec2(int(x*512.), 0), 0).r) +#define logX(x,a,c) (1./(exp(-a*(x-c))+1.)) +float logisticAmp(float amp){ + float c = .88, a = 20.; + return (logX(amp, a, c) - logX(0.0, a, c)) / (logX(1.0, a, c) - logX(0.0, a, c)); +} +float getPitch(float freq, float octave){ + freq = pow(2., freq) * 261.; + freq = pow(2., octave) * freq / 12000.; + return logisticAmp(getLevel(freq)); +} +float getVol(float samples) { + float avg = 0.; + for (float i = 0.; i < samples; i++) avg += getLevel(i/samples); + return avg / samples; +} +/* ----------------------- */ + +float sdBox( vec3 p, vec3 b ) { + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0); +} +float hash13(vec3 p3) { + p3 = fract(p3 * .1031); + p3 += dot(p3, p3.zyx + 31.32); + return fract((p3.x + p3.y) * p3.z); +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) { + vec2 uv = (2.*fragCoord-iResolution.xy)/iResolution.y; + vec3 col = vec3(.1,.0,.14); + float vol = getVol(8.); + + vec3 ro = vec3(0, 8, 12)*(1. + vol*.3); + ro.zx *= rot(iTime*.4); + vec3 f = normalize(-ro), r = normalize(cross(vec3(0,1,0), f)); + vec3 rd = normalize(f + uv.x*r + uv.y*cross(f, r)); + + float hasSound = 1.; if (iChannelTime[0] <= 0.) hasSound = .4; + + for (float i = 0., t = 0.; i < 30.; i++) { + vec3 p = ro + t*rd; + + vec2 cen = floor(p.xz) + .5; + vec3 id = abs(vec3(cen.x, 0, cen.y)); + float d = length(id); + + float freq = smoothstep(0., 20., d)*3.*hasSound + hash13(id)*2.; + float pitch = getPitch(freq, .7); + + float v = vol*smoothstep(2., 0., d); + float h = d*.2*(1.+pitch*1.5) + v*2.; + float me = sdBox(p - vec3(cen.x, -50., cen.y), vec3(.3, 50. + h, .3)+pitch) - .05; + + col += mix(mix(vec3(.8,.2,.4), vec3(0,1,0), min(v*2.,1.)), vec3(.5,.3,1.2), smoothstep(10., 30., d)) + *(cos(id)+1.5) + * (pitch * d*.08 + v) + * light(me, 20.) * (1. + vol*2.); + + t += me; + } + + fragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/Pixel Room/pack.json b/tools/packsrc/Pixel Room/pack.json new file mode 100644 index 0000000..4ce27e2 --- /dev/null +++ b/tools/packsrc/Pixel Room/pack.json @@ -0,0 +1,22 @@ +{ + "author": "kishimisu", + "name": "Pixel Room", + "version": "1.0.0", + "description": "An audio reactive shader", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "dtl3Dr", + "tags": [ + "reactive", + "pixel", + "neon" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "channel0": + { + "type": 4 + } +} \ No newline at end of file diff --git a/tools/packsrc/Pixel Room/shaders/Image.frag b/tools/packsrc/Pixel Room/shaders/Image.frag new file mode 100644 index 0000000..d03cd4b --- /dev/null +++ b/tools/packsrc/Pixel Room/shaders/Image.frag @@ -0,0 +1,78 @@ +/* "3D Audio Visualizer" by @kishimisu - 2022 (https://www.shadertoy.com/view/dtl3Dr) + + This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en) + + Wait for the drop! + + The lights of this scene react live to the audio input. + I'm trying to find interesting ways to extract audio + features from the audio's FFT to animate my scenes. + + Each light is associated to a random frequency range, + ranging from bass (distant lights) to high (close lights) + + Really happy with this result! +*/ + +#define st(t1, t2, v1, v2) mix(v1, v2, smoothstep(t1, t2, iTime)) +#define light(d, att) 1. / (1.+pow(abs(d*att), 1.3)) + +/* Audio-related functions */ +#define getLevel(x) (texelFetch(iChannel0, ivec2(int(x*512.), 0), 0).r) +#define logX(x,a,c) (1./(exp(-a*(x-c))+1.)) + +float logisticAmp(float amp){ + float c = st(0., 10., .8, 1.), a = 20.; + return (logX(amp, a, c) - logX(0.0, a, c)) / (logX(1.0, a, c) - logX(0.0, a, c)); +} +float getPitch(float freq, float octave){ + freq = pow(2., freq) * 261.; + freq = pow(2., octave) * freq / 12000.; + return logisticAmp(getLevel(freq)); +} +float getVol(float samples) { + float avg = 0.; + for (float i = 0.; i < samples; i++) avg += getLevel(i/samples); + return avg / samples; +} +/* ----------------------- */ + +float sdBox( vec3 p, vec3 b ) { + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0); +} +float hash13(vec3 p3) { + p3 = fract(p3 * .1031); + p3 += dot(p3, p3.zyx + 31.32); + return fract((p3.x + p3.y) * p3.z); +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) { + vec2 uv = (2.*fragCoord-iResolution.xy)/iResolution.y; + vec3 col = vec3(0.); + float vol = getVol(8.); + + float hasSound = 1.; // Used only to avoid a black preview image + if (iChannelTime[0] <= 0.) hasSound = .0; + + for (float i = 0., t = 0.; i < 30.; i++) { + vec3 p = t*normalize(vec3(uv, 1.)); + + vec3 id = floor(abs(p)); + vec3 q = fract(p)-.5; + + float boxRep = sdBox(q, vec3(.3)); + float boxCtn = sdBox(p, vec3(7.5, 6.5, 16.5)); + + float dst = max(boxRep, abs(boxCtn) - vol*.2); + float freq = smoothstep(16., 0., id.z)*3.*hasSound + hash13(id)*1.5; + + col += vec3(.8,.6,1) * (cos(id*.4 + vec3(0,1,2) + iTime) + 2.) + * light(dst, 10. - vol) + * getPitch(freq, 1.); + + t += dst; + } + + fragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/PolarVisualizer/pack.json b/tools/packsrc/PolarVisualizer/pack.json deleted file mode 100644 index 56eb522..0000000 --- a/tools/packsrc/PolarVisualizer/pack.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "author": "Lallis", - "name": "PolarVisualizer", - "version": "1.0.0", - "description": "Yet another audio visualizer. Tried to fake some depth with the light and reflection. Try reversing the band order.", - "license": "CC BY-NC-SA 3.0", - "engine": "shadertoy", - "id": "4lySzy", - "tags": [ - "reactive", - "2d" - ], - - "source": "./shaders/Image.frag.qsb", - "speed": 1.0, - - "channel0": - { - "type": 4 - } -} \ No newline at end of file diff --git a/tools/packsrc/PolarVisualizer/shaders/Image.frag b/tools/packsrc/PolarVisualizer/shaders/Image.frag deleted file mode 100644 index df01c77..0000000 --- a/tools/packsrc/PolarVisualizer/shaders/Image.frag +++ /dev/null @@ -1,133 +0,0 @@ -#define time iTime -#define PI 3.14159265359 - -#define NUM_BANDS 32 - -//#define REVERSED - -float noise3D(vec3 p) -{ - return fract(sin(dot(p ,vec3(12.9898,78.233,12.7378))) * 43758.5453)*2.0-1.0; -} - -vec3 mixc(vec3 col1, vec3 col2, float v) -{ - v = clamp(v,0.0,1.0); - return col1+v*(col2-col1); -} - -vec3 drawBands(vec2 uv) -{ - uv = 2.0*uv-1.0; - uv.x*=iResolution.x/iResolution.y; - uv = vec2(length(uv), atan(uv.y,uv.x)); - - //uv.x-=0.25; - //uv.x = max(0.0,uv.x); - - uv.y -= PI*0.5; - vec2 uv2 = vec2(uv.x, uv.y*-1.0); - uv.y = mod(uv.y,PI*2.0); - uv2.y = mod(uv2.y,PI*2.0); - - vec3 col = vec3(0.0); - vec3 col2 = vec3(0.0); - - float nBands = float(NUM_BANDS); - float i = floor(uv.x*nBands); - float f = fract(uv.x*nBands); - float band = i/nBands; - float s; - - #ifdef REVERSED - band = 1.0-band; - #endif - - //cubic easing - band *= band*band; - - band = band*0.99; - band += 0.01; - - s = texture( iChannel0, vec2(band,0.25) ).x; - - if(band<0.0||band>=1.0){ - s = 0.0; - } - - /* Gradient colors and amount here */ - const int nColors = 4; - vec3 colors[nColors]; - colors[0] = vec3(0.05,0.05,1.0); - colors[1] = vec3(0.05,1.00,1.00); - colors[2] = vec3(0.50,1.00,0.25); - colors[3] = vec3(1.00,0.75,0.25); - - vec3 gradCol = colors[0]; - float n = float(nColors)-1.0; - for(int i = 1; i < nColors; i++) - { - gradCol = mixc(gradCol,colors[i],(s-float(i-1)/n)*n); - } - - float h = PI*0.5; - - col += vec3(1.0-smoothstep(-0.5,0.0,uv.y-s*h)); - col *= gradCol; - - col2 += vec3(1.0-smoothstep(-0.5,0.0,uv2.y-s*h)); - col2*= gradCol; - - col = mix(col,col2,step(0.0,uv.y-PI)); - - col *= smoothstep(0.125,0.375,f); - col *= smoothstep(0.875,0.625,f); - - col = clamp(col,0.0,1.0); - - return col; -} - -void mainImage( out vec4 fragColor, in vec2 fragCoord ) -{ - vec2 uv = fragCoord.xy / iResolution.xy; - - vec2 p = vec2(uv.x, uv.y+0.2); - vec3 col = vec3(0.0); - col += drawBands(p);//*smoothstep(1.0,0.5,uv.y);; - - vec3 ref = vec3(0.0); - vec2 eps = vec2(0.0025,-0.0025); - - ref += drawBands(vec2(p.x,1.0-p.y)+eps.xx); - ref += drawBands(vec2(p.x,1.0-p.y)+eps.xy); - ref += drawBands(vec2(p.x,1.0-p.y)+eps.yy); - ref += drawBands(vec2(p.x,1.0-p.y)+eps.yx); - - ref += drawBands(vec2(p.x+eps.x,1.0-p.y)); - ref += drawBands(vec2(p.x+eps.y,1.0-p.y)); - ref += drawBands(vec2(p.x,1.0-p.y+eps.x)); - ref += drawBands(vec2(p.x,1.0-p.y+eps.y)); - - ref /= 8.0; - - float colStep = length(smoothstep(0.0,0.1,col)); - - vec3 cs1 = drawBands(vec2(0.5,0.51)); - vec3 cs2 = drawBands(vec2(0.5,0.93)); - - vec3 plCol = mix(cs1,cs2,length(p*2.0-1.0))*0.15*smoothstep(0.75,-0.25,length(p*2.0-1.0)); - vec3 plColBg = vec3(0.05)*smoothstep(1.0,0.0,length(p*2.0-1.0)); - vec3 pl = (plCol+plColBg)*smoothstep(0.5,0.65,1.0-uv.y); - - col += clamp(pl*(1.0-colStep),0.0,1.0); - - col += ref*smoothstep(0.125,1.6125,p.y); - - col = clamp(col, 0.0, 1.0); - - float dither = noise3D(vec3(uv,time))*2.0/256.0; - col += dither; - - fragColor = vec4(col,1.0); -} \ No newline at end of file diff --git a/tools/packsrc/Rhodium Liquid Carbon/pack.json b/tools/packsrc/Rhodium Liquid Carbon/pack.json new file mode 100644 index 0000000..01614fc --- /dev/null +++ b/tools/packsrc/Rhodium Liquid Carbon/pack.json @@ -0,0 +1,24 @@ +{ + "author": "Virgill", + "name": "Rhodium Liquid Carbon", + "version": "1.0.0", + "description": "Liquid carbon effect from Rhodium 4k Intro", + "license": "", + "engine": "shadertoy", + "id": "llK3Dy", + "tags": [ + "fire", + "liquid", + "spheretracing" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "bufferA": + { + "source": "./shaders/Buffer A.frag.qsb" + }, + + "channel0":"{bufferA}" +} \ No newline at end of file diff --git a/tools/packsrc/Rhodium Liquid Carbon/shaders/Buffer A.frag b/tools/packsrc/Rhodium Liquid Carbon/shaders/Buffer A.frag new file mode 100644 index 0000000..6ea1057 --- /dev/null +++ b/tools/packsrc/Rhodium Liquid Carbon/shaders/Buffer A.frag @@ -0,0 +1,175 @@ +// *********************************************************** +// Alcatraz / Rhodium 4k Intro liquid carbon +// by Jochen "Virgill" Feldkötter +// +// 4kb executable: http://www.pouet.net/prod.php?which=68239 +// Youtube: https://www.youtube.com/watch?v=YK7fbtQw3ZU +// *********************************************************** + +#define time iTime +#define res iResolution + +float bounce; + +// signed box +float sdBox(vec3 p,vec3 b) +{ + vec3 d=abs(p)-b; + return min(max(d.x,max(d.y,d.z)),0.)+length(max(d,0.)); +} + +// rotation +void pR(inout vec2 p,float a) +{ + p=cos(a)*p+sin(a)*vec2(p.y,-p.x); +} + +// 3D noise function (IQ) +float noise(vec3 p) +{ + vec3 ip=floor(p); + p-=ip; + vec3 s=vec3(7,157,113); + vec4 h=vec4(0.,s.yz,s.y+s.z)+dot(ip,s); + p=p*p*(3.-2.*p); + h=mix(fract(sin(h)*43758.5),fract(sin(h+s.x)*43758.5),p.x); + h.xy=mix(h.xz,h.yw,p.y); + return mix(h.x,h.y,p.z); +} + +float map(vec3 p) +{ + p.z-=1.0; + p*=0.9; + pR(p.yz,bounce*1.+0.4*p.x); + return sdBox(p+vec3(0,sin(1.6*time),0),vec3(20.0, 0.05, 1.2))-.4*noise(8.*p+3.*bounce); +} + +// normal calculation +vec3 calcNormal(vec3 pos) +{ + float eps=0.0001; + float d=map(pos); + return normalize(vec3(map(pos+vec3(eps,0,0))-d,map(pos+vec3(0,eps,0))-d,map(pos+vec3(0,0,eps))-d)); +} + + +// standard sphere tracing inside and outside +float castRayx(vec3 ro,vec3 rd) +{ + float function_sign=(map(ro)<0.)?-1.:1.; + float precis=.0001; + float h=precis*2.; + float t=0.; + for(int i=0;i<120;i++) + { + if(abs(h)12.)break; + h=function_sign*map(ro+rd*t); + t+=h; + } + return t; +} + +// refraction +float refr(vec3 pos,vec3 lig,vec3 dir,vec3 nor,float angle,out float t2, out vec3 nor2) +{ + float h=0.; + t2=2.; + vec3 dir2=refract(dir,nor,angle); + for(int i=0;i<50;i++) + { + if(abs(h)>3.) break; + h=map(pos+dir2*t2); + t2-=h; + } + nor2=calcNormal(pos+dir2*t2); + return(.5*clamp(dot(-lig,nor2),0.,1.)+pow(max(dot(reflect(dir2,nor2),lig),0.),8.)); +} + +// softshadow +float softshadow(vec3 ro,vec3 rd) +{ + float sh=1.; + float t=.02; + float h=.0; + for(int i=0;i<22;i++) + { + if(t>20.)continue; + h=map(ro+rd*t); + sh=min(sh,4.*h/t); + t+=h; + } + return sh; +} + +// main function +void mainImage(out vec4 fragColor,in vec2 fragCoord) +{ + bounce=abs(fract(0.05*time)-.5)*20.; // triangle function + + vec2 uv=gl_FragCoord.xy/res.xy; + vec2 p=uv*2.-1.; + +// bouncy cam every 10 seconds + float wobble=(fract(.1*(time-1.))>=0.9)?fract(-time)*0.1*sin(30.*time):0.; + +// camera + vec3 dir = normalize(vec3(2.*gl_FragCoord.xy -res.xy, res.y)); + vec3 org = vec3(0,2.*wobble,-3.); + + +// standard sphere tracing: + vec3 color = vec3(0.); + vec3 color2 =vec3(0.); + float t=castRayx(org,dir); + vec3 pos=org+dir*t; + vec3 nor=calcNormal(pos); + +// lighting: + vec3 lig=normalize(vec3(.2,6.,.5)); +// scene depth + float depth=clamp((1.-0.09*t),0.,1.); + + vec3 pos2 = vec3(0.); + vec3 nor2 = vec3(0.); + if(t<12.0) + { + color2 = vec3(max(dot(lig,nor),0.) + pow(max(dot(reflect(dir,nor),lig),0.),16.)); + color2 *=clamp(softshadow(pos,lig),0.,1.); // shadow + float t2; + color2.rgb +=refr(pos,lig,dir,nor,0.9, t2, nor2)*depth; + color2-=clamp(.1*t2,0.,1.); // inner intensity loss + + } + + + float tmp = 0.; + float T = 1.; + +// animation of glow intensity + float intensity = 0.1*-sin(.209*time+1.)+0.05; + for(int i=0; i<128; i++) + { + float density = 0.; float nebula = noise(org+bounce); + density=intensity-map(org+.5*nor2)*nebula; + if(density>0.) + { + tmp = density / 128.; + T *= 1. -tmp * 100.; + if( T <= 0.) break; + } + org += dir*0.078; + } + vec3 basecol=vec3(1./1. , 1./4. , 1./16.); + T=clamp(T,0.,1.5); + color += basecol* exp(4.*(0.5-T) - 0.8); + color2*=depth; + color2+= (1.-depth)*noise(6.*dir+0.3*time)*.1; // subtle mist + + +// scene depth included in alpha channel + fragColor = vec4(vec3(1.*color+0.8*color2)*1.3,abs(0.67-depth)*2.+4.*wobble); +} + + + diff --git a/tools/packsrc/Rhodium Liquid Carbon/shaders/Image.frag b/tools/packsrc/Rhodium Liquid Carbon/shaders/Image.frag new file mode 100644 index 0000000..949b196 --- /dev/null +++ b/tools/packsrc/Rhodium Liquid Carbon/shaders/Image.frag @@ -0,0 +1,36 @@ +// *********************************************************** +// Alcatraz / Rhodium 4k Intro liquid carbon +// by Jochen "Virgill" Feldkötter +// +// 4kb executable: http://www.pouet.net/prod.php?which=68239 +// Youtube: https://www.youtube.com/watch?v=YK7fbtQw3ZU +// *********************************************************** + +#define time iTime +#define res iResolution + +const float GA =2.399; +const mat2 rot = mat2(cos(GA),sin(GA),-sin(GA),cos(GA)); + +// simplyfied version of Dave Hoskins blur +vec3 dof(sampler2D tex,vec2 uv,float rad) +{ + vec3 acc=vec3(0); + vec2 pixel=vec2(.002*res.y/res.x,.002),angle=vec2(0,rad);; + rad=1.; + for (int j=0;j<80;j++) + { + rad += 1./rad; + angle*=rot; + vec4 col=texture(tex,uv+pixel*(rad-1.)*angle); + acc+=col.xyz; + } + return acc/80.; +} + +//------------------------------------------------------------------------------------------- +void mainImage(out vec4 fragColor,in vec2 fragCoord) +{ + vec2 uv = gl_FragCoord.xy / res.xy; + fragColor=vec4(dof(iChannel0,uv,texture(iChannel0,uv).w),1.); +} \ No newline at end of file diff --git a/tools/packsrc/Root Sanctum/images/iChannel0.png b/tools/packsrc/Root Sanctum/images/iChannel0.png new file mode 100644 index 0000000000000000000000000000000000000000..852d5e4449b761b46ecb8a5b81312eeefb4a2a65 GIT binary patch literal 47082 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 qR1=G(GbQ8^$mKx|i4 0. ? iChannelTime[0] : iTime) +#define FOV 70.0 +#define FOG .06 + +#define PI 3.14159265 +#define TAU (2*PI) +#define PHI (1.618033988749895) + +float vol = 0.; + +float hash12(vec2 p) { + float h = dot(p,vec2(127.1,311.7)); + return fract(sin(h)*43758.5453123); +} + +// 3d noise +float noise_3(in vec3 p) { + vec3 i = floor(p); + vec3 f = fract(p); + vec3 u = 1.-(--f)*f*f*f*-f; + + vec2 ii = i.xy + i.z * vec2(5.0); + float a = hash12( ii + vec2(0.0,0.0) ); + float b = hash12( ii + vec2(1.0,0.0) ); + float c = hash12( ii + vec2(0.0,1.0) ); + float d = hash12( ii + vec2(1.0,1.0) ); + float v1 = mix(mix(a,b,u.x), mix(c,d,u.x), u.y); + + ii += vec2(5.0); + a = hash12( ii + vec2(0.0,0.0) ); + b = hash12( ii + vec2(1.0,0.0) ); + c = hash12( ii + vec2(0.0,1.0) ); + d = hash12( ii + vec2(1.0,1.0) ); + float v2 = mix(mix(a,b,u.x), mix(c,d,u.x), u.y); + + return max(mix(v1,v2,u.z),0.); +} + +float fbm(vec3 x) +{ + float r = 0.0; + float w = 1.0, s = 1.0; + for (int i=0; i<4; i++) + { + w *= 0.25; + s *= 3.; + r += w * noise_3(s * x); + } + return r; +} + +float yC(float x) { + return cos(x * -.134) * 1. * sin(x * .13) * 15.+ fbm(vec3(x * .1, 0., 0.) * 55.4); +} + +void pR(inout vec2 p, float a) { + p = cos(a)*p + sin(a)*vec2(p.y, -p.x); +} + +struct geometry { + float dist; + vec3 hit; + int iterations; +}; + + +// Cylinder with infinite height +float fCylinderInf(vec3 p, float r) { + return length(p.xz) - r; +} + +geometry map(vec3 p) { + p.x -= yC(p.y * .1) * 3.; + p.z += yC(p.y * .01) * 4.; + + float n = pow(abs(fbm(p * .06 )) * 12., 1.3); + float s = fbm(p * 0.01 + vec3(0., T * 0.14, 0.)) * 128.; + + geometry obj; + + obj.dist = max(0., -fCylinderInf(p, s + 18. -n)); + + p.x -= sin(p.y * .02) * 34. + cos(p.z * 0.01) * 62.; + + obj.dist = max(obj.dist, -fCylinderInf(p, s + 28. + n * 2.)); + + return obj; +} + + +float t_min = 10.0; +float t_max = FAR; +const int MAX_ITERATIONS = 100; + +geometry trace(vec3 o, vec3 d) { + float omega = 1.3; + float t = t_min; + float candidate_error = INFINITY; + float candidate_t = t_min; + float previousRadius = 0.; + float stepLength = 0.; + float pixelRadius = 1./ 1000.; + + geometry mp = map(o); + + float functionSign = mp.dist < 0. ? -1. : +1.; + float minDist = FAR; + + for (int i = 0; i < MAX_ITERATIONS; ++i) { + + mp = map(d * t + o); + mp.iterations = i; + + float signedRadius = functionSign * mp.dist; + float radius = abs(signedRadius); + bool sorFail = omega > 1. && + (radius + previousRadius) < stepLength; + + if (sorFail) { + stepLength -= omega * stepLength; + omega = 1.; + } else { + stepLength = signedRadius * omega; + } + previousRadius = radius; + float error = radius / t; + + if (!sorFail && error < candidate_error) { + candidate_t = t; + candidate_error = error; + } + + if (!sorFail && error < pixelRadius || t > t_max) break; + + t += stepLength * .5; // ;( + } + + mp.dist = candidate_t; + + if ( + (t > t_max || candidate_error > pixelRadius) + ) mp.dist = INFINITY; + + + return mp; +} + +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + + vec2 ouv = fragCoord.xy / iResolution.xy; + vec2 uv = ouv - .5; + + uv *= tan(radians (FOV) / 2.0) * 4.; + + vec3 + vuv = normalize(vec3(cos(T), sin(T * .11), sin(T * .41))), // up + ro = vec3(0., 30. + iTime * 100., -.1); + + ro.x += yC(ro.y * .1) * 3.; + ro.z -= yC(ro.y * .01) * 4.; + + vec3 vrp = vec3(0., 50. + iTime * 100., 2.); + + vrp.x += yC(vrp.y * .1) * 3.; + vrp.z -= yC(vrp.y * .01) * 4.; + + vec3 + vpn = normalize(vrp - ro), + u = normalize(cross(vuv, vpn)), + v = cross(vpn, u), + vcv = (ro + vpn), + scrCoord = (vcv + uv.x * u * iResolution.x/iResolution.y + uv.y * v), + rd = normalize(scrCoord - ro), + oro = ro; + + vec3 sceneColor = vec3(0.); + + geometry tr = trace(ro, rd); + + tr.hit = ro + rd * tr.dist; + + vec3 col = vec3(1., 0.5, .4) * fbm(tr.hit.xzy * .01) * 20.; + col.b *= fbm(tr.hit * .01) * 10.; + + sceneColor += min(.8, float(tr.iterations) / 90.) * col + col * .03; + sceneColor *= 1. + .9 * (abs(fbm(tr.hit * .002 + 3.) * 10.) * (fbm(vec3(0.,0.,iTime * .05) * 2.)) * 1.); + sceneColor = pow(sceneColor, vec3(1.)) * (iChannelTime[0] > 0. ? texelFetch(iChannel0, ivec2(128, 0), 0).r * min(1., mt * .1) : 0.6); + + vec3 steamColor1 = vec3(.0, .4, .5); + vec3 rro = oro; + + ro = tr.hit; + + float distC = tr.dist, f = 0., st = .9; + + for (float i = 0.; i < 24.; i++) { + rro = ro - rd * distC; + f += fbm(rro * vec3(.1, .1, .1) * .3) * .1; + distC -= 3.; + if (distC < 3.) break; + } + + steamColor1 *= iChannelTime[0] > 0. ? texelFetch(iChannel0, ivec2(32, 0), 0).r : 1.; + sceneColor += steamColor1 * pow(abs(f * 1.5), 3.) * 4.; + + fragColor = vec4(clamp(sceneColor * (1. - length(uv) / 2.), 0.0, 1.0), 1.0); + fragColor = pow(abs(fragColor / tr.dist * 130.), vec4(.8)); + +} diff --git a/tools/packsrc/Shimmy/pack.json b/tools/packsrc/Shimmy/pack.json new file mode 100644 index 0000000..02cdc87 --- /dev/null +++ b/tools/packsrc/Shimmy/pack.json @@ -0,0 +1,17 @@ +{ + "author": "Kali", + "name": "Mist by Ohno! - part2", + "version": "1.0.0", + "description": "Audio reactive shader", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "fd2GD1", + "tags": [ + "reactive", + "pixel", + "neon" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1 +} \ No newline at end of file diff --git a/tools/packsrc/Shimmy/shaders/Image.frag b/tools/packsrc/Shimmy/shaders/Image.frag new file mode 100644 index 0000000..f592b4f --- /dev/null +++ b/tools/packsrc/Shimmy/shaders/Image.frag @@ -0,0 +1,126 @@ +//#define iTime iChannelTime[0] +float det=.005, maxdist=50., pi=3.1416, gl=0.; +vec2 id; + + +float hash12(vec2 p) +{ + p*=1000.; + vec3 p3 = fract(vec3(p.xyx) * .1031); + p3 += dot(p3, p3.yzx + 33.33); + return fract((p3.x + p3.y) * p3.z); +} + + +mat2 rot(float a) +{ + float s=sin(a), c=cos(a); + return mat2(c,s,-s,c); +} + +float box(vec3 p, vec3 c) +{ + vec3 pc=abs(p)-c; + return length(max(vec3(0.),pc))-min(0.,max(pc.z,max(pc.x,pc.y))); +} + +vec2 amod(vec2 p, float n, float off, out float i) +{ + float l=length(p)-off; + float at=atan(p.x,p.y)/pi*n*.5; + i=abs(floor(at)); + float a=fract(at)-.5; + return vec2(a,l); +} + +float ring(vec3 p,inout vec2 id) +{ + p.xy=amod(p.xy*rot(iTime*0.), 20., 2., id.x); + float h=max(0.,texture(iChannel0,vec2(.5+fract(id.x*.2+id.y*.1),0.)*.5).r*3.-.5); + h+=sin(iTime*10.+id.x)*.2; + float d=box(p+vec3(0.,-h*1.5,0.),vec3(.1,h,.1)); + return d*.5; +} + +float de(vec3 p) +{ + float d=100.,ii=0.; + p.xz*=rot(iTime); + p.yz*=rot(sin(iTime)); + float r=4.; + vec2 ids; + for (float i=0.; imaxdist) break; + td+=d; + gl+=.1/(10.+d*d*10.)*step(.7,hash12(id+floor(iTime*5.))); + } + if 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

AEEJh9P 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≥N?9H-l8a_Q)mv`jgK{bZvMQJWH4EbUmYsU{gVaHZzK^6fw z;Sq6Iiz4hmG-jJ)iOEHPWp>u8TCseyD#}oqX3iJ3eQ62nJ{LM&{;S2`1M~Iamd5Fd zgl-e`aSZ?_GCLu}I9vRPmHL|j+Eswc^v=an-1`&MmN$Qar4bTt1*iwFq}==7-B@oiysNK@hZ~5sG|$)JJ=cUtOwl!pOTbsr`{~c+$##`|_)jPA26c{*&Pi!FVu$;%@B{9yFjRCLW}gZDicM{? zSeg$Xlgnf1p0_dLHByKnX)jK8WsstJ&bNkSO2zvTZ}HnZvmSXveYOIFWFp>K_2$ekD`qoeL7e zJhX0Crf8aq8r!O8S!-yrX!HX)%XvdqRHdUcQd;yozdimz^)Icq^0rcZELki;&bGIOmh||3zah7Rw&3rd_LD4C-dLdn@J7537!ra=4_$M!b`R%I9$mZ1Tm&+N z9}w<;&n2?}NNDZ3z?NhF@wC*)73QfMHJ1D92HD^ixcu z-@D7#CpmewUfBY0)0E*Jmt1WVncKR<*HH6$r2XTp58k7a_jb zvwyZJg?pkZ(DkcW830Jq;pVxEBix}d!7aGym$?e)tbtDJ=?u*zwz;{ zEagnWLn1HijH)lTMF{H$c|z!Y8-ZwxzY->C0dr8%>u?`YID_~qlZ*soCA}!x7YzYK zrUXJPf6}eEp?Wf0a$rSg9$=L6*whB;InhV4=GBAjF3M1?%UBMMB(RVroLfHYrIvnU z*8C1xrsdzmad1AVP$z=(;vSkVj4?Hy0u zyT2yZYGK?&@KtwRjo7F9mnpBK=@KJ#QMblYD_fo@JO$Q*V^rR*@0f(Refo^4;$Cxk zg(yd>NtgfoW$f60QO{Sk{`OS@`cJ8LB>wsmsBBNg1EK!H>~PH`2#}TNI`fH42W!`K zuFo8|T}>e3Az1OsY*kGLZ^i%sj~i|zbBycLN}h9?_US<+O?AM@mMMbZ3X@IE;iOal z@4YbcmeZ!SEuJtMcdSq9&O;*9A+Z7sh(9JR)lQ-e2n;~+!^(9%s7lXwvBM{#xkgAf z*rxR#vDgR2vo6VlGbb{>hr-e@dIyQuOZ4|OhTa$ku*{zf=p)6B;pSc;bakMlPOJvL z?axwI;B(f?HHTs8&z6j4>qqGsE!Sk4^#s!f$-j_%USg=7g7pJcUuHha!&n-=z*!Mw zxiwj+5$cm0f=qpqMkfr#&^!5s5)w3L0JrR<(#pe1P3+)yj}tEXRcd0qcdyWKg4xa2k0<@jMom{fkH5~Y)it4< z)Jpnu{c!(xvF55{WTpW%&vwa>>0rY*{hgqU zZLMOt*0#QYyTF(pNf62Ll2FW+)=+=Q9)=5LUG$uUf%vyraV z+gG5Fh`dz1%@Bv-0#b>Som7?hbyt`WSlWSB@Od?1>b>Ni1)0 zG^qf?+y$3lu5yyS3SPMqMYU|{@7V5-ymyP=d@<<+{Fd2pQ0WGkQ+L*&(ENIblti1n z=;2hsURaR-dE!$+yfM1FNO4^aUikE3OGm}Z6)jxy z;it_ZA9qk_DCuk!gb?0oBQE0}jF2$_NC2T}l%1?+YB%Aw%lBh()mIVu%1twwlPk_3_U zy4~Jf%i8*XMNaR0>)kJe@V+E-O9nhvPY}P%< z1%QJ@8cThg z@Tw=0%_H#K;fqIfM~oNn1BDl^pnEi0_+T*tpEUv9_Gy_zoAML5YiIaE(svVOe39Ta z;iN|}rep8GaCsJdQQ(F=3OCgt7n75Yv=!qaR*c>8p%g+5&MnN5oq6iRgpQkY31`pYH=CX(cq@uzC$!z zv}V*K8j+!2LT9^@cXPD*Z|Iwczl4W*X)7k!`wn6SGR^s7p1=x*eF5Ft&aa6i?BZ&^ zibvy{nn0m0h)RGQY}Sn2J3}*IsE~jEl`oMvP-|h-m2gAI@aI?;gXny2qNaPqEqQ@S zbW5%4NE#w*jfC8YTey{uUv*FsyFCm{`j@Auh=|O3dQlv+Q|cFEQ&1A9m`_rarC* zFnbb`*r`+g(Kpz>`ULPlYYm{M1t=BFI)<>o6(ZzI=Ify>v~?Ns2kRmEa-5WYD~mX@Kjlsm95oUGOQcJE~Z)!}8?&m`?nMt@JogsD>A3DD+`Nw z^Wyy&*U>G*$7sM%$aUqJ(6%-9o+2~WQ6{pYpjj7cn9^~n?AgC-oJbxkzT2A&+{h5iwa3q#xM*^)``xL1 z)g=VV73mja_i}?>F(Q}x>Aa3akkttVb#b*iSq+(-g_wJlnIk8KZ(He2wyguLD%Etc5hS^rsY$&X{;^F2$YKZDkmsT20ms2tx=VUm zD*vwqXz6+h?f;JvHJTaBjo)Is1`S<4S2|n=@|PxAi8)5iBb#6 zF{3`+>=hy_Qo@R?g4)kMbJ@Oa9McK^&)FjpU}uv1Ehj+e75$&)Pc-k#>x}9G#H=B) z8u|i9lX8yxUqGygyliBB))T0;zpQ9E>xMNJAWA?e_yH< zU`jgayPoD76Q6CE!E({POy9dlW4$!$`keo-_S;YKXR(a}vEl|=5?1%K-ps0`D>4do znntal*}@p1;S(t(7?Ha^3UQ^u?~OoaAI~!V*C`U|G>bm^9rp8r5Mk3+|Jq+QVDlNB zhAB{SpFzaNrX(0iv~?eqDCcrH#Pwkt5h)G^*KR3?gB}DYQr_{Q`RebnY`SO-Sj<}W z45KYBr!ASKy|a)kx&_j-l>aQ`aL;zUbG*RbB=5te=d+0t{DaYJc}%#EcX=%k7s6E8 zVU)=NOF6&kmQa1b)EugHDd$y{h%P-1Wr~vq37<>Da^PeEWjq zW=~o_=)!tq_4pri0`Y!yZ&CUVLXyC_(jsfYaNoC4$E2r@LPGxX2zCZgW?cL-^ZFPH zynR>s7q=M*3APwNo!!PHBK`BB<-N(;p$m6_#O z_}RKqm$>iuYH&sPu3}pN6AqbP22gzc(ZCJ>OPB<1U~c_UO`7r|H<~v!?Zo3*6>R`sOzGbqwpRopwc(og-z1Pi8BPAbD8YpkDM zBwj*+RR3;?{z_#1%PtwJ-s4fgb+UpKR_Vwm2$lc)Ftct?Z4bk>!-P5=TR673(eW*Q zpPLe!coCdkvmAx&7C#eX|BME=K!ovz*UMNyk^7o$TCOh7xkM>pC$+^aVm;zIEmKB3 zXfYNJW<8+vL?-jG1amIVEwrT~{BSitDi=b0CdS)!4;BEOpzqQt#-{?MZ7;12q6)kD zZ&{o8S}o!RL&o?nl8WhBCj?lQavT6kC0YZ<)@3be2@9XzlOU$D@fGegOaT2_NSOC) zoxeS^C~35YNJtK{1IRQyEI)}XS-^jF;e^uzcES?j*-FJS^+Lm%7)Kv|y7w4A)J6Re zabDzsUJrE^{lXTQERx0n8@i5{cbwx&E8ZQy?Dfxzo!k)}GUnNj>aI6% zSr>OL0DL(+kSHu2&2>fMzCWnldpl1v(=QKhaOmCfokx zUvlg%)xMQcTW+DBaB&w=7CJb>zBjxe*l+yhWGpe7-@3|5&x z%Ybs`0i~f#FtP&w4iT~h%gNH?Li2~^`42L%)i`vm3k^|)7%~0Z`uY(2f~1~3s|#1G zAhCI0rgt0HN2yfF{Ppa`iPH zO4QZNxX;+LP9_6|erW$~3?=l>&6DXAzu#Y44*ACf59cq;AQ&_53=0u><|@bdaK%zZ zjJF~sn&BvVw~}8Or@(43Q2vVAD`#;$<*9>2f>zS+OA#Fn`4J2D-pt!}+Z#Ap6 zpFtP}c%xGN*~d$KH@(xX80{v0KdgB%!o3ZmN@bq=BO-NPmFBC6RgAYlZlCAFoK7Wl zY#QY$_=fBa-rofS55y6dbbRIA5im5Ma&PD^5o~wM6%Rl~=b2~%X1|9i#6r<}1ZGbw zI;hY?s@$>~Py$BeS{_zBr6*sEi3Uv;Sg5q)AW%gqy9V7QilUIrKM-#{KVA9GiqyWZ zEMW3;Mv?N73I%3O_yE(&F}#U*3SfmJm8x{UY=&i3^j8`S(V~>4`)g zjR_Rr;$|(q6BS9t<}0hO^LN{ssqYA^3V05d=ZNDzICg^Si*sZ0Fmxd8^e&_NJtC78 za}L<2`7biAkl*0#Fe3p)&F#cvge?bSCFVC%54*6Sf2HBr>vx?XX| z&gZ-;sRDk0IzQO4XR_td6)3y-S#J14##8nJD)QH`vKgP_Qj7vVeI#o4PcygKV5|h z*zE)LY`~0N<*uNtHYw17M!E!lR`KlBz`)o|5!kE=3KQkRh85f&2~xH2O#A%&U_`Uu z6uhP$6vW`uNJ&R$UCYTN@JPG{%_g&1Tql#$PG06u(ALNNsl%5$f%qjCw!ts4CDvv+ z219PUQ^w?7;g-xqMFrVRf(YntZg$6kqx6+FT5y1XS`1n2@~+1xjv6y#KR-*|9L-tb zyaT+~hJ-{t%kf&Zn{H;-wfc>Z-j7BC$W0`eaqFL7=7fyhP|EhfB9y6mu@kOOvHMp_yyDZaanRgr@ za)mwIa%!xB8Y^5NXJQX`-sk5#=1^C#!b$z{Gj$vTUfle2Xg=Vk5lk0CT*|SpSJI62 z4#i3c$KA$3L?&3muxYA|eYGCGdUwzMX(iHzIB*o<3()+)8{rF-(Bkuyg>~EQ((~ug z^S=2;#+G|=`Ck1IHlP=enq^k~%^)~bLy~3~4(a!aN)6h_9FJ@NdONW8Q(2nPV@1 z*-OuRjwy3 zn8+++QfW(Bx-dR90Tao#tzXIDeyO9ta^mIm^iMOKZ-Z8t0U!W`AorQ*xk`&&PHPtL z8!UCZb30}FY4eYn4_^~=TOdzW(#EZ;ak6u)BFGAn!O#A16{)MG%MOnl@9cxfJE+vV zIYzJWia#sbOi=+jtX5%ihPYvM6#J(mF+E?p)`8Pze`iN^tHsO`+Y&=py{Q-5d@*pY zCcB*-P0%-XFx|nL`P#`+5BuD$aMABm4)FNbb&SmYnPANWPZvx$m|m^_PB=c2pm@^r zg7lmdmboewTGGR&U6aD9;UWFe1M|XGMzia2+Lx=FVytS!&gnN#q6y)O%V@Ac-V@P{ znne4Iuvu9_9RM^E16x0sk0tQfjN4LE4-1Mk^@-Olj}Ge-y$g|?$b2ZGtT$B3XqBu~f0#T^ zE03Bu#x`7OdfM1w>RetkiSRvbyG8Hj%-S)zp%90)1WFfW)3pq`gyiPm61#%jRhiqC z5Z)X(1=Q%|CND7$@8%L;mE~q)q}Rn60r__*mM-chR*&d@yJ<>oMa~5;*0z0neD$9p z1)1596HI#^pq>c7nYXk=&unS9!v z8=n^XY*6m|-Todou$3sD1N{7qV@$JDWijUGegj$I%cxwqH=xYCwLrVhY{c+d3j;Cp zWQ=jmF$lmb6P`u}+`xI8g;A~o;2Hu}^jWO9sW#-xfM-xTq4jl_Dw-05;@WhpSnfQS zWwt=pbsuP8GPqCL-LR_^3pmoo?wVAqx?tl=i{a5_F) zxsRasb+arE9$B!pgO<=9M-6p9Qp;lYsnKx>VcCJCKRJ4?_1l{5>>AtTrb)g|x0Pg1 zFg@b-0rsaN;U&}w$m;<{YB#Ei?z*doj64UdWn2HbMs3B9jQz8B!G5T*IxKF7^>U6r)?Q0O_r1~kfB=ySdcJ5qW;uoE z&1ven_I^tXMi-Wbo(urqXmY%Sznb5}m;$UkAL;V*y5-orr>()P9xP})CX$~;kIY!y@?i77o2ahrFY8N@<`GOX5SFQL zY;Fz!w^28_SbQ|;N8=(0L@}T`mdB1_WMK!a_++Sol3Svbf6B@XH{d@e3AC<6#*o~a z#$z6lwEV1q*8XE)?he2MTK2#pO_FQN5EJv-6|>@)B3t0Xl>hn%p@_X?z!f#>7Xazq zt0}s+J|Y)3c`V;EYfD|_$Jd1w9!^?9jCO}$Ad8IeQYA&BC)CSzDEqM?f;>xy(G8?T z+3?l+hj(E>&D`{R0a^_L(c!Loxb<8$RQfDdl$tSuQ^9e#{;bTgRt)KK|H8~9{?{if z_bipAacFP;Rj;4L)`x}lrn#W43%ChrzlQW^;2)Q}{4+>V!*yPPE8#)|Xmu_Jt(&lz zTWD)GSrppyirOzTQ99Rm$1{EJjgVOIPwxCx zFdJNf4su=@{s?c+WRQmJ%-dDxkWQ4ALvw1xo@1ZK;%!u3Un{OI%!_LfosrJ(#8V3_ zE*)J+=n%^M8(P((Zu8S@iH=I~FBp4er``&yM?EX%_3Q^RFE_N0kS_zwd8Ir^JVk^!^!;ba!FLey{>MICWi1IuF zvQg_jy#K&S!5Z1`V8zR`3|-Z|_hUDn29D9F#(GCqOkjZ>7Ggwg>(39hi~~1jQ4(gj zPb4IfN%P?@|H(uT+wGo2HYLLgM9v{;bpNv&Y_ewGl5Wk0H%$0`(1 z=C&tUUJB)mQ&L4xsR(SvhmikTqy9ucQqcZIxyZ=LA?EuJe$82ZNWO`nhI!7(q}sr~ zl;t=+;zeURIgy&ky^SnidMG6cNQjO#BoF?K;D%F|g{r6~ets-x<3;4nG$Bl+ug!T$ zwrR2B*yZME$GiCM^Qo%IO5!8etBCT>hCCj{#GVNkc#g}hAbTZ;hS$3lZv)JHplOb4 z_Wk@qkQ!(qtF8ue_)&qN_CcW_BscmVJ^7NUh(US%8P?JjNF1e%QdY=L0Q^5<{uYe* z>i%l1NoJ~I%-XyA#8HHWD+(Z4zQ#}HiAXc|>iNj8YuoF`@^b!WMiKkwn)bN!Ao?ED z`Hb2)1yx^A6ks7`9qCezvz?gacm!aLkVP4aXmD=x3kOLI);kx`3+ z+Nz)H`*H<`5U8%R$;l%Mc%=SokAm7qF9b87gL^)pR9BKFqK$r@IwV2`x&KL+&A3ps zdo74B>t^bU?-^DZAnnZ0{PLVTBu%fPy6|twGLh5I9bUYZ6dp1mC4Q1Sntsn9d>8Ez zn=JLE=I?*6tL7dj`^uH3V4=wZi1J5O{D~Z9ZryywM1>gOOWFR8eqS>xea6L)Al$R) z{FK$;F1eQilO+RrHM>{!Yb@N6a?f*ETy7vT4?i_b#s+mV_~5JZIV<)Moeu$u74x7B zT9qO1@blrlpVuTMwvNo%|LA0V*zZXj(mS6u(Xq__+z|qv_5o`K7Mf(@YGUl){U!H@Uao-Z1 zkubXC5?vDI+Oh&S<8TYosES`dA2Zto6;;|XYq_`Ia=3Ei6#_Qn?P*`+G{FG5&HAdt%PHJi1RzRQXOHqeDIsG8i4e9;)$a2txe)t#C%7ve5?1G})FAMwCZahy*1ycs%*I?xq|Lk>bJBBu1 z?{B$2kXj0eirlrnoa;&D@>mkHtax(y=7ca_Mh+g2`7swtFwd<#8d`hiW1#*kfHWw5 zt$WSJOYVY4I6X|xkN3a0Uyigx*t?LQt!6(b>*b+{weTNvq&l&{}pEqz50De+D{^IQS{CFJV zidetnSpllATOb~#?R-WNT{p<`3B&JI_H+)Swv?JbeHV=b$Nub|iOJB6QKSoPN<`KY zf40#iGMhQ;^}~L1!5~VSgX}^$dECWsF5-g^Mn;B%G3CwItD0iJ&ox^}mJKJ~W0lOI zU9rJ49h^M6OO$Xtv;s89Nsl-AyHEEHffVv(aL#165pPQ`ZQ6U^qSH@~mD;4t%CE_` zq-q8Ns;P-rqsl*6Gwjv%SpY9O)%rkSA6FC`L8!~2asr`xm*VaTzMXc-l?Cg2YO5UE z@|!k!8}1tl-E((_#9*eZR`oh}4Hl9SfnVM#n_N~c_cM$%8MP^f7DZ*=@|*rF?s!$A z=B(u&OAW5di?T3-3hX|;UAIu%@%`0RpWYgWr_Pdub>8HF*-U@UoIGfXbHn>1cWOUi zP4YQS_MtW#dKbZm@{tBODu=*@cQ2T}e(ZAUDVu$ygn=^#$a;ho@CaKGD|hpL?%~K1 zJu7z*08D_1e{4mC^}2_t11}!+_*kmDm})R8u&V3(2LsTKlZ-;`aP*Vm%MRtO zB77;k`h@dNuUAfhPRsAa_K6&LaeSA)k*D|WVdkY#ShR@S2{ zm4G4;(RK+ZoVhpQ-SdSMcf_qKZq%y#C7G*vFsz8C)c^!_O zkIibGk3dvg8`qmC%X;4~@1o~M!Uw!n*dRu@rPy^@6~>_hHxQRv6Ck9mA?%^&vOFWd z@bQXz-1@4j2UPLKp2QluxNV<+2XKaH7&PUygCCJWS1-NlY)D=j>4_)w6q6L6tCrq3 zsJ`jBOhNZkJV=cX5%rsW{FmljKeCwRnBL>)MX9v&kh554DJ-yPHP5CiE^L%ja*Zd} z5Rbb50QY0ij9#)F|K@L4q?Qz2mffVR3`V+=ehKZm-&-8;jm0g;oK);u9((bx-^YgK z{&!P0y6?uE%>l2;{pUTCsMFbYf753YZ2E1n=>TNpPX(hON*DhmvH6O)8rY*y7Y&OGadX>_81O`*v7J}~lxIgjp za!=4%tlbf!_c`!1AAepa%@Be52zS8IA?{z#=zH%bx@Gnomm8RF z)Cs`G;xh3$jw=(Nu%>qZk~{ z7(S=SvO&cmWU4ad2EUawKxiqVSQFBO8m*EL8mzZqUVRg)TKO=8_5wBD27bIe>yl^U zK(Nm1sSp~xNusyY$+bOloN)A zxuQbg48nF7PWT%`Z-j`B**wxADaeU;dYF|z*sE2pOC-yJt~x_pirzEbH5~MsGtpEo ztTsxOytDASm!WN7zzoM~L5o-`!gyJitaF?!%LXzDMLNr+CupE(b0KAmnT0_mX7I_V zA4}SRs)xk=_4)ggCCy6Kyf?yT9u91uG&`>Bh4+V>NOjOUcJMe^0S0Nz;Zc~FNR1W8S!c(6L$+Fc&LL#Inh z!}x~v6&Rraq8T1%Sg6@$Q0rDV0T0PsyMtskY)h{nbvM8)S=cRk2q;|!4o89jkq*C@ zVcH+T!PhZ2HV&?^XL=B>Y&)(3#QuSg>|8=#OSkniLs@&Y!xsVXmBS~V2dCxy6@CIi z3YK$ot&fA;L83?+`{S%3;>MZbl@{_UABIitHlXLd^ZI_SUttZOR%@vEG%VPogjTD# z-|iv~2`KJ3(`(Lrdw2qCZ*2!|kqme_4MgOg#RH4@AT`K1A3{pQ5#BJakoZ2du7Bh; zdcWX70E)|BZ}!*iF`mHLQo2WG<9~d<-%aM2iDu)b7j95tJeesr5-tZ5?))YP;*m%q z08c$ypetu8B6!B*NT)K+fk@o!QV3%d1vTSDPgL}fpzNbD3qaHu-ZGYK7H+5Es$H93 zD-Nsq86bZ+ro8=C%w7Dw3REo9H=JXWU0FpjMGqU%f~$q?M?SwplnUm+Pzfc&(F06( zzk5l+W)WO{>&?snW*hERIwT1Nc_ki{*z?e~6@XTP1d@ra1o?T?MlX_z>Mw`aI8MPO zw2_jqa%xZ<)9`&4RA@F-0nw&HD4p9#jurI9t;ap@&;p+BE5L^+K^M^sq1cCLn~&m* zuf^8ALx-=g=05MDx!Y4=Gx}W!RDH+K6<1dmieWhROISUkVX5YGtT~w00Mys$hY4rwd}*7ecU+yaX;@NT2D#ox8&(^3MXVDfCI1W7bLP)#0r#4U3p3% zj{?$+Pr*d{v1`agL5#R`&1x*=!_>e?(-}ZuR!-BlTvC|#o7%0{W|359FN-=Hy_ z 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 literal 0 HcmV?d00001 diff --git a/tools/packsrc/The Grid/pack.json b/tools/packsrc/The Grid/pack.json new file mode 100644 index 0000000..d9d3152 --- /dev/null +++ b/tools/packsrc/The Grid/pack.json @@ -0,0 +1,40 @@ +{ + "author": "z0rg", + "name": "The Grid", + "version": "1.0.0", + "description": "A mix of two of my shaders to create a cyber / tron visual", + "license": "CC-BY-NC-SA", + "engine": "shadertoy", + "id": "7tGfWy", + "tags": [ + "tron", + "cyber", + "retrowave" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "bufferA": + { + "source": "./shaders/Buffer A.frag.qsb", + "frame_buffer_channel": 0, + + "channel1": + { + "type": 0, + "source":"./images/iChannel1.png" + }, + "channel2": + { + "type": 0, + "source":"./images/iChannel2.png" + }, + "channel3": + { + "type": 4 + } + }, + + "channel0":"{bufferA}" +} \ No newline at end of file diff --git a/tools/packsrc/The Grid/shaders/Buffer A.frag b/tools/packsrc/The Grid/shaders/Buffer A.frag new file mode 100644 index 0000000..1891724 --- /dev/null +++ b/tools/packsrc/The Grid/shaders/Buffer A.frag @@ -0,0 +1,216 @@ +// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 +// Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +// or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +// ========================================================================================================= + +#define FFT(a) (texture(iChannel3, vec2(a, 0.)).x-.25) + +vec3 rdrCirc(vec2 uv, float t) +{ + vec3 col = vec3(0.); + vec2 ouv = uv; + float rep = .03; + float id = floor((uv.y+rep*.5)/rep); + uv.y = mod(uv.y+rep*.5,rep)-rep*.5; + uv.x += id; + float cl = .1; + float h = clamp(asin(sin(uv.x*5.)), -cl, cl)/cl; + float line = abs(uv.y-h*0.01)-.001; + vec3 rgb = mix(vec3(.4,.3,.7), vec3(.4,.6,.9).zxy, sat(sin(id))); + rgb *= 1.-sat((abs(ouv.x+(fract(id*.1)-.5)+mod(t*.75+.5*id,4.)-2.)-.2)*4.); + col = mix(col, rgb,1.-sat(line*iResolution.x*.5)); + col += .5*rgb*(1.-sat(line*80.)); + return col; +} +vec3 rdrCircuit(vec2 uv) +{ + vec3 col = rdrCirc(uv, iTime); + col += rdrCirc(uv+vec2(0.,.2), iTime*.7); + col += .5*rdrCirc(2.*uv+vec2(0.,.1), iTime*.5).zxy; + col += .15*rdrCirc(4.*uv+vec2(0.,.1), iTime*.25).yzx; + return col; +} + + +float seed; +float rand() +{ + seed++; + return hash11(seed); +} + +vec2 map(vec3 p) +{ + vec2 acc = vec2(10000.,-1.); + //acc = _min(acc, vec2(length(p)-2., 0.)); + float h = .2; + acc = _min(acc, vec2(-p.y-.2*clamp(asin(sin(p.z*3.)),-h,h), 0.)); + return acc; +} + +vec3 getEnv(vec3 rd) +{ + rd.xy *= r2d(.5); + vec2 uv = vec2(atan(rd.z, rd.x)/PI, (acos(rd.y)/PI-.5)*2.); + float gradf = 3.; + vec3 up = mix(vec3(0.161,0.055,0.239),vec3(0.639,0.059,0.341), sat(uv.y*gradf)); + vec3 low = mix(vec3(0.161,0.055,0.239),vec3(0.157,0.345,0.337), sat(-uv.y*gradf)); + vec3 back = mix(low, up, float(uv.y > 0. ? low : up)); + + float stars = pow(texture(iChannel2, uv*4.).x, 10.); + + uv.x *= 1.75; + float an = iTime*.1+atan(uv.y+.1, uv.x+.1); + back += .25*((.35*vec3(0.945,0.220,0.310)*sat(sin(an*12.)+.8))*(1.-sat(length(uv*2.)))+ + .5*vec3(0.945,0.263,0.216)*sat(sin(-iTime*.05+an*7.+1.)+.7)*(1.-sat(length(uv*1.5)))+ + .5*vec3(1.000,0.533,0.502)*sat(sin(an*5.)+.5)*(1.-sat(length(uv*1.)))).zxy; + + float rep = 0.05; + vec2 uv2 = uv-vec2(0.,-0.35); + uv2 *= 1.5; + float id = floor((uv2.x+rep*.5)/rep); + uv2.x = mod(uv2.x+rep*.5,rep)-rep*.5; + float height = pow(FFT(abs(id*.01)),1.); + float shape = max(abs(uv2.y)-height, abs(uv2.x)-0.001); + vec3 rgbs = mix(vec3(0.208,0.675,0.431)*0., vec3(0.180+sin(id+iTime)*.5+.5,0.820,0.659+sin(-id+iTime)*.5+.5), sat((abs(uv2.y))*10.)); + back += rgbs*(1.-sat(shape*400.))*(1.-sat(abs(uv.x*2.)-.5)); + + float psz = .25; + uv += vec2(.2,-0.1); + uv *= r2d(2.5); + float planet = length(uv)-psz; + vec3 col = back+stars*vec3(0.580,0.804,0.820)*.5; + vec3 planetrgb = vec3(0.161,0.055,0.239)*.75 + +vec3(0.961,0.000,0.192)*pow(texture(iChannel1,vec2(-iTime*.02,0.)+uv*5.*length(uv)).x,3.)*sat(uv.y*5.); + planetrgb += vec3(1.000,0.173,0.078)*(1.-sat((abs(planet)-.001)*50.))*sat(uv.y*5.); + col = mix(col, planetrgb, 1.-sat(planet*400.)); + col += .8*vec3(1.000,0.173,0.078)*(1.-sat((abs(planet)-.01)*10.))*sat(uv.y*5.); + col += vec3(1.000,0.314,0.141)*(1.-sat(planet*100.))*.15; + + col += .25*rgbs*(1.-sat(shape*10.))*(1.-sat(abs(uv.x*2.)-.5))*sat(planet*10.); + uv.y *= 3.5-2.*uv.y; + float anr = atan(uv.y, uv.x); // ring + float ring = abs(length(uv)-.4)-.1; + col += sat(uv.y+.15)*(1.-sat(ring*100.))*texture(iChannel2, vec2(length(uv), anr*.01)).xxx; + return col; +} +float _cube(vec3 p, vec3 s) +{ + vec3 l = abs(p)-s; + return max(l.x, max(l.y, l.z)); +} +vec3 getCam(vec3 rd, vec2 uv) +{ + vec3 r = normalize(cross(rd, vec3(0.,1.,0.))); + vec3 u = cross(rd, r); + return normalize(rd+(r*uv.x+u*uv.y)*4.); +} + +vec3 getNorm(vec3 p, float d) +{ + vec2 e = vec2(0.01,0.); + return normalize(vec3(d)-vec3( + map(p-e.xyy).x, + map(p-e.yxy).x, + map(p-e.yyx).x)); +} + +vec3 trace(vec3 ro, vec3 rd, int steps) +{ + vec3 p = ro; + for (int i = 0; i < steps; ++i) + { + vec2 res = map(p); + if (res.x < 0.01) + return vec3(res.x, distance(p, ro), res.y); + p+=rd*res.x; + } + return vec3(-1.); +} + +vec3 getMat(vec3 res, vec3 rd, vec3 p, vec3 n) +{ + return vec3(.1); +} + +vec3 rdr(vec2 uv) +{ + vec3 col = vec3(0.); + + float t = 4.68; + vec3 ro = vec3(sin(t)*5.,-1.5+sin(iTime*.25)*.2,cos(t)*5.+sin(iTime*.25)); + vec3 ta = vec3(sin(iTime)*1.,-2.,0.); + vec3 rd = normalize(ta-ro); + + rd = getCam(rd, uv); + float d = 100.; + vec3 res = trace(ro, rd, 64); + + if (res.y > 0.) + { + d = res.y; + vec3 p = ro+rd*res.y; + vec3 n = getNorm(p, res.x); + col = getMat(res, rd, p, n); + float move = p.x+iTime; + float river = (abs(p.z-sin(move*1.)*.5-sin(move*.5)*2.)-1.5); + float spec = 1.;//mix(.25,1.,1.-sat(river*400.)); + float gloss = .05;//mix(.5,.05, 1.-sat(river*400.)); + vec3 refl = normalize(reflect(rd, n)+gloss*(vec3(rand(), rand(), rand())-.5)); + vec3 resrefl = trace(p+n*0.01, refl, 32); + vec3 reflec = vec3(0.); + float gridrep = 1.; + vec2 griduv = vec2(move, p.z); + griduv = mod(griduv+gridrep*.5,gridrep)-gridrep*.5; + float gridth = .001; + float grid = min(abs(griduv.x)-gridth, abs(griduv.y)-gridth); + //col += sat(river*400.)*vec3(0.220,0.800,0.412)*(1.-sat(grid*40.))*(1.-sat(res.y/10.)); + col += rdrCircuit(vec2(p.x, p.z)*.1); + if (resrefl.y > 0.) + { + vec3 prefl = p+refl*resrefl.y; + vec3 nrefl = getNorm(prefl, resrefl.x); + + reflec=getMat(resrefl, refl, prefl, nrefl); + } + else + reflec=getEnv(refl); + col += reflec*spec; + } + else + col = getEnv(rd); + col += vec3(0.816,0.541,1.000)*(1.-sat(exp(-d*0.2+.5)))*sat(rd.y*1.+.5); + col += .5*vec3(1.000,0.314,0.141)*(1.-sat(exp(-d*0.2+1.5)))*sat(rd.y*3.+.5); + + col += vec3(0.302,0.698,1.000)*pow(1.-sat(abs((rd.y-.05)*15.)),2.)*(1.-sat(abs(rd.z))); + return col; +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 uv = (fragCoord.xy-.5*iResolution.xy)/iResolution.xx; + seed=texture(iChannel2,uv).x; + seed+=fract(iTime); + vec3 col = rdr(uv); + vec2 off = vec2(1., -1.)/(iResolution.x*2.); + #ifdef AA + if (true)// Not so cheap antialiasing + { + vec3 acc = col; + acc += rdr(uv+off.xx); + acc += rdr(uv+off.xy); + acc += rdr(uv+off.yy); + acc += rdr(uv+off.yx); + col = acc/5.; + + } + #endif + col *= 1.-sat(length(uv*1.5)); + col = pow(col, vec3(1.2)); + col *= sat(iTime-1.); + col = mix(col, texture(iChannel0, fragCoord.xy/iResolution.xy).xyz,.5); + col = pow(col, vec3(1.15)); + col = sat(col); + + fragColor = vec4(col.zxx,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/The Grid/shaders/Common.frag b/tools/packsrc/The Grid/shaders/Common.frag new file mode 100644 index 0000000..3f461dd --- /dev/null +++ b/tools/packsrc/The Grid/shaders/Common.frag @@ -0,0 +1,23 @@ +// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 +// Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +// or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +// ========================================================================================================= + +#define AA // Comment to deactivate antialiasing +#define sat(a) clamp(a, 0., 1.) +#define PI 3.141592653 + +mat2 r2d(float a) { float c = cos(a), s = sin(a); return mat2(c, -s, s, c); } + +vec2 _min(vec2 a, vec2 b) +{ + if (a.x < b.x) + return a; + return b; +} + +// Stolen from 0b5vr here https://www.shadertoy.com/view/ss3SD8 +float hash11(float p) +{ + return (fract(sin((p)*114.514)*1919.810)); +} \ No newline at end of file diff --git a/tools/packsrc/The Grid/shaders/Image.frag b/tools/packsrc/The Grid/shaders/Image.frag new file mode 100644 index 0000000..1004ea5 --- /dev/null +++ b/tools/packsrc/The Grid/shaders/Image.frag @@ -0,0 +1,30 @@ +// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 +// Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ +// or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +// ========================================================================================================= + +vec3 rdrImg(vec2 uv) +{ + vec3 col = pow(texture(iChannel0, uv).xyz,vec3(1.3)); + col += pow(texture(iChannel0, uv).xyz,vec3(.9))*.35; + return col; +} + +vec3 rdrChroma(vec2 uv) +{ + vec3 col = vec3(0.); + vec2 off = vec2(.002); + col.r = rdrImg(uv+off).r; + col.g = rdrImg(uv).g; + col.b = rdrImg(uv-off).b; + return col; +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 uv = fragCoord.xy/iResolution.xy; + + vec3 col = rdrChroma(uv); + + fragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tools/packsrc/The Universe Within/pack.json b/tools/packsrc/The Universe Within/pack.json new file mode 100644 index 0000000..8abfb41 --- /dev/null +++ b/tools/packsrc/The Universe Within/pack.json @@ -0,0 +1,22 @@ +{ + "author": "Virgill", + "name": "Rhodium Liquid Carbon", + "version": "1.0.0", + "description": "Been reading up on psychedelics and got inspired. Put fullscreen, make sure sure you have sound and stare at it until the end! Use mouse to move.", + "license": "", + "engine": "shadertoy", + "id": "lscczl", + "tags": [ + "reactive", + "universe", + "network" + ], + + "source": "./shaders/Image.frag.qsb", + "speed": 1, + + "channel0": + { + "type": 4 + } +} \ No newline at end of file diff --git a/tools/packsrc/The Universe Within/shaders/Image.frag b/tools/packsrc/The Universe Within/shaders/Image.frag new file mode 100644 index 0000000..afcef16 --- /dev/null +++ b/tools/packsrc/The Universe Within/shaders/Image.frag @@ -0,0 +1,157 @@ +// The Universe Within - by Martijn Steinrucken aka BigWings 2018 +// Email:countfrolic@gmail.com Twitter:@The_ArtOfCode +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + +// After listening to an interview with Michael Pollan on the Joe Rogan +// podcast I got interested in mystic experiences that people seem to +// have when using certain psycoactive substances. +// +// For best results, watch fullscreen, with music, in a dark room. +// +// I had an unused 'blockchain effect' lying around and used it as +// a base for this effect. Uncomment the SIMPLE define to see where +// this came from. +// +// Use the mouse to get some 3d parallax. + +// Music - Terrence McKenna Mashup - Jason Burruss Remixes +// https://soundcloud.com/jason-burruss-remixes/terrence-mckenna-mashup +// +// YouTube video of this effect: +// https://youtu.be/GAhu4ngQa48 +// +// YouTube Tutorial for this effect: +// https://youtu.be/3CycKKJiwis + + +#define S(a, b, t) smoothstep(a, b, t) +#define NUM_LAYERS 4. + +//#define SIMPLE + + +float N21(vec2 p) { + vec3 a = fract(vec3(p.xyx) * vec3(213.897, 653.453, 253.098)); + a += dot(a, a.yzx + 79.76); + return fract((a.x + a.y) * a.z); +} + +vec2 GetPos(vec2 id, vec2 offs, float t) { + float n = N21(id+offs); + float n1 = fract(n*10.); + float n2 = fract(n*100.); + float a = t+n; + return offs + vec2(sin(a*n1), cos(a*n2))*.4; +} + +float GetT(vec2 ro, vec2 rd, vec2 p) { + return dot(p-ro, rd); +} + +float LineDist(vec3 a, vec3 b, vec3 p) { + return length(cross(b-a, p-a))/length(p-a); +} + +float df_line( in vec2 a, in vec2 b, in vec2 p) +{ + vec2 pa = p - a, ba = b - a; + float h = clamp(dot(pa,ba) / dot(ba,ba), 0., 1.); + return length(pa - ba * h); +} + +float line(vec2 a, vec2 b, vec2 uv) { + float r1 = .04; + float r2 = .01; + + float d = df_line(a, b, uv); + float d2 = length(a-b); + float fade = S(1.5, .5, d2); + + fade += S(.05, .02, abs(d2-.75)); + return S(r1, r2, d)*fade; +} + +float NetLayer(vec2 st, float n, float t) { + vec2 id = floor(st)+n; + + st = fract(st)-.5; + + vec2 p[9]; + int i=0; + for(float y=-1.; y<=1.; y++) { + for(float x=-1.; x<=1.; x++) { + p[i++] = GetPos(id, vec2(x,y), t); + } + } + + float m = 0.; + float sparkle = 0.; + + for(int i=0; i<9; i++) { + m += line(p[4], p[i], st); + + float d = length(st-p[i]); + + float s = (.005/(d*d)); + s *= S(1., .7, d); + float pulse = sin((fract(p[i].x)+fract(p[i].y)+t)*5.)*.4+.6; + pulse = pow(pulse, 20.); + + s *= pulse; + sparkle += s; + } + + m += line(p[1], p[3], st); + m += line(p[1], p[5], st); + m += line(p[7], p[5], st); + m += line(p[7], p[3], st); + + float sPhase = (sin(t+n)+sin(t*.1))*.25+.5; + sPhase += pow(sin(t*.1)*.5+.5, 50.)*5.; + m += sparkle*sPhase;//(*.5+.5); + + return m; +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 uv = (fragCoord-iResolution.xy*.5)/iResolution.y; + vec2 M = iMouse.xy/iResolution.xy-.5; + + float t = iTime*.1; + + float s = sin(t); + float c = cos(t); + mat2 rot = mat2(c, -s, s, c); + vec2 st = uv*rot; + M *= rot*2.; + + float m = 0.; + for(float i=0.; i<1.; i+=1./NUM_LAYERS) { + float z = fract(t+i); + float size = mix(15., 1., z); + float fade = S(0., .6, z)*S(1., .8, z); + + m += fade * NetLayer(st*size-M*z, i, iTime); + } + + float fft = texelFetch( iChannel0, ivec2(.7,0), 0 ).x; + float glow = -uv.y*fft*2.; + + vec3 baseCol = vec3(s, cos(t*.4), -sin(t*.24))*.4+.6; + vec3 col = baseCol*m; + col += baseCol*glow; + + #ifdef SIMPLE + uv *= 10.; + col = vec3(1)*NetLayer(uv, 0., iTime); + uv = fract(uv); + //if(uv.x>.98 || uv.y>.98) col += 1.; + #else + col *= 1.-dot(uv,uv); + t = mod(iTime, 230.); + col *= S(0., 20., t)*S(224., 200., t); + #endif + + fragColor = vec4(col,1); +} \ No newline at end of file diff --git a/tools/packsrc/Warp Tunnel/images/iChannel0.png b/tools/packsrc/Warp Tunnel/images/iChannel0.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4f3ad607311bc55014c2e8f07350adf6217ee0 GIT binary patch literal 73225 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 literal 0 HcmV?d00001 diff --git a/tools/packsrc/Warp Tunnel/images/iChannel1.png b/tools/packsrc/Warp Tunnel/images/iChannel1.png new file mode 100644 index 0000000000000000000000000000000000000000..d6818ab03aa5109c87628b61074a9e552949aa7c GIT binary patch literal 57729 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

PLIvi5M;Ih7hsXGCieA1Lgq z%+dut^|QM*86uH4C+s(S{OYp{tj>ps%9(jG;fJ@6`RR6(wV0c~^GsI7E09H3v&-%6 zp;C$X9V0GpF7o_Sn>;EWadOfm6ZY`aJ9&kgI%)OsYh(V-YfrIVsqm-o>@(9G#C;Av zb#Z}wsm=F4E-)~MT-aEmTRkD-_K*rjRT=A~F(&NMaR+AfCzB^ZPRYAXT|~ssDQaSK zMy)@lH8iOXXB_o<>PY(k{gO$MELg=k@YF(tXuwCe+rbm?v%WsZ_2(}0@bH+J?%=ue zi|V4edFwWd%jcMCUTiiW(P)gr!$URl9*&3Hzkf>|lO%2;>G)2wMW;1YN42%(4D(w{ z1fntO-5#}ihjeNV%{IgB>672S&2%)S*QyiL{S3!5^k9T~cgptT0^{+JYfqh}-)+)p zG^keV>>dxeaoD9g5!Rj!>Ea9cJ!rFYc`>N?YENHXA&~SE_50Ng>-?oN#OIc=c|+=5 z=*G>TQ!dph)JH7MFLCq3kLfkL%1D^YMtJ#ipJpMm!fB~WW^Pg4_?p!ky3<1_Af~?~ z_Vx}rEj0Mitpm=a0u<{#b}K`*V1MJ;EgX{x??22dkbEwZBo=bAwi;z|A*J?N{lQ2D zKy^l3Ue7QWi(y5Q*nANtgD$6ghm?v1l~xc}(WCp1mF_+j(-ny|-{{gcV7J_2I+)Uu zfNOK2$hE>cUkQ16dLv5E=TM&7|LCjFVDwOIaqZlE(pt`X6>n>3PMDZ>!hX27)4=|> zag5*pyH~gpcB?A&*s>T%D>a!V7)vWbkwdd+k;h zuv0EjY{+93ZWPKaB;_xrsc>aNw{w0ihcS?ZZ;Lvk{~5Ay8gvpm{4 zqEP8`DhUZ0bviw?#%-0NSc|w7<>%2sg+^zjwCTm(n8(c)<Q<8)R%r?^$h9x9FvK~;=(!J|M;i;)i=MTejane zYA97y#?2Sd8T4mlvnh;Wn|`OOQWkQ@ZwVo`(4pLLGMo+-<}0iR*jn_nlynnJX9>71 z+|CJuc3a&pE?zl@O%J1agOuA1ENzHS(%;S~japN^hiSc$8jCw49^SmUuT+n(fBJd+ zZX0?isjd@kGG)-N^24`&%+2irqoIaNF6wBQQg6m?xlPpTRX-0srmL~~aZ~EwHUe%Z znRt}7jRmrqFphDDut!5PM{0?D2syk-4-9^KJ<+U6v zMuI%Ik>L2GO2F^o+)@(Pw8isR*C?JmWO-$Up~#3FQ5Lf~H2a91$4AU9pU0nGMiOwf z!+k1;#|-;rvh!Y2D=RAVWsbU3PnzuPmKCopUp47zetdR88u^GM;>y9P*>t}B&TUGa z9xq)y$4RxufB9R#jMHdvxVNJ+a;=`l)BT*eg1ZHg&_n z+xI&(#zQKdwmQQ;b8SOy?yJWoj!yDw3KW*Gt1(uI>s&0rayqD@B@)w-2#$m|?Kau6 z>vTpvDxC>Otr63yp~_oV)-(7cA-cs=roz&;*{D`J98^ZEZ{+yx&sCF7OI{LbMqBLM`a0*nlkK+sQF3=gS<8tGb^gYm#dB$Z*mc*I6NpZ zoH@wXI+TYdH%m>ve0`0pxuB{vtfo`6s&#JeS9#~K!QRM*8-tM3t#)j-sfF9+Qa8nc zHc`{xb)OSm#zWJwdM7U$7TRaiVJjSVkqC!aUkP&IOo*ny6KfK@vltj~TBsKNMh_ge1NX|ad~}& zvT2+l2j$Z;<0BTpSiM5DDF{$St-p4$nT)o#GFo; z&bka8a&gUwIxLzK7o+inq}w3?77{VPDsr8+WOrg?(f0(>QSA)SER$!RT2?-seADEe z$5oD+Bju*KHYfckc=qBMI+att`~E5a?SJ-p0uGc9s8B95#;xd~?cPXrYNS3e9ZxuJ zb~vfqsdk&JrF?w$+4EdjpC^=CKn_}`2ZxlZZHo1l+JjlrjT%kpmKu~!svOp9l*eOn zN8^$X*J_y6`H1rB^hQJVImpxK^t8@Vwae5L=$4%1?4;aYBHjVdY|e2m8^s%S^Y;6P zeEF447S60tEHo9a_s-EHMjg0%;f(4qogUXoCbNtt6Rv*x6+*cTAHDZ;?tJtvdyh}C zCKE1h%;R!;m>4rGyNygH$w@_Q6%(QnC#91UGLZ$f5)x0)Cy(yp3wgP{SH$Ssd3tjJ z<8M>>fAo!SvzX2h_rZwmW~D+V5h3Cl)9+33x_r!BZe})J4O*OTjq?63 z5s!yz%ZJZXmPioq& z0SVp3Z@s!nP)tcKkFviVY(JvgpHdi_>=Ya9)w+z#F$>`kJ`ouA2k35_0?cJo*z{7JJNhZw}OLGaLK^IP^#bIH+?y8-`Qe0PTg>t3FUUi^;uS=^bVm<*)4ylc%)N2NJiycxiFK;}*g-4EG zcQv}+Zr`7S=Ez&fUceICv(B#BF@E#|>tbMffWsY)$8 z*eh{b9pV%ay+c#XXZi9c!(LK;7iU&dWK%(9{$5;OV19LtZnFlaf!VE6tXfJ7Q>awc zyDv@;(L{#1?~C86`{ zMgxWb03ZNKL_t)_))v`Vh+xpecD|}|npZc^GM|VkUV*9gX%7b6`1m0o-9MmjIaEbq zIvkUU=)`pggW;5&N=G$mFP~W@IiI1BFJPDbnPds;eU&W~35@ivrovN~8yhyNtsb5J z48QJH9V;lFaxug||xVf+tQ|}9J-8|-?KA}7uQXUNz zKiZE*Di~C_q6>3jF09It!sP1KJkfZJ4?ldw#35k95Hpugy@V|;Ca`r|NSa&@2i@ir zpKd3+n8KA@!Ql!pmWkGQNT+;EFqOrfTvEmaqjk#e-8;Z^md&pnD_n0#aDdv4nE}xsn9`G`o8j9?14F!neWoaRU z(}a&t>inyp-6Ro?h`sn^W1~wlJ zqfha;%ltw_by0G2VVZqAdxaJ+J-vlF9J8{NVt3~;k9KO@KCBRN&D0ZdIJ8J7e7Ll-X}~a67zQUP$ru^H0(4 zHMn#8CizoQM!MOU4|Dm#Jo9lM)qIt5XUM<$!5w_g2wMpceJ0dpbnKq-sL%wPQ`O~P zd3v4au3g0Kvy)Clu{00COcsXnp4{c$y^rwvVkEsT4)*dKRO&3RpXKEA7`rANt%7PLAj&gkNHX8KXJr3(d-W5j1UV}kzpyb8qCbgkOwLjtIE32&LQWSUg z)X+x)s?zlB3ZBcftCL679Aap)ly(yK+6hST*A#RWN|AYGQRi!~o#*^&7FVyuX}Qd| ze*6&aQvsKinM<%!>#HeD%twz2-!e+MI9@xjNp zh=s$Ly*3NyF7p0^eLnZpCjEYsep~#Tb4*(ms)YjYe7J|lm*oHXWREu=oNz80;44=$ zy!PrQ9-ECyqs7DRG812j4|XaP>K*(ONh0)ct)9i{p7G%JHk*qpq!Mnv`J=lkcXe%L zk>#jO?O!BG>@X+Fj36|Zkujs&n{jyB;)jPv%%#E#ik^yk)JXrNIZ`PEYvv&1h2Qz& z1za;5#pZ}oua0TA^Juq$OLG$NiJmdYQYK2JKBn0j;_=z2^u}az0oIdoCaos(*%+sT z3V-^;U4G+>&v3>Up*HGMY>a6ONJbO0w1aW8MZ4RjGu9{`R#Xx>oDA`~U;Z4oK6r~e zH}a}KG#9jyi`#hh`AdWx7L{6Gy*o6UHEtc&IVkqQ6CfOQ^T}SBTC2-aI>47ca}7Hq zV#yeNL|oSD4VX(MiAMqyi#3edjOC3rwQ$vC4`^vL`csVlgezA!2}isHgCQJ~K1=B+ z`9_n?^XJsx?cwA5w5tt@g#&i;6O4&d)ow1I-^A{7q{U!`L?m3qV%bQ6k%&?9dC?;qUbxIR%7(NC>LSWX35Ukh?^V^vL_ly1bDs3oRH zc|uLRQ;DZb?NwpLj^Ge^BvQVy7V_m3D% zT^zI|{oNrf-IiQ}@7^zQd%sJ>r_-sH2_gUy5o|Cx%@klZ+8_&#-AziuDpd{_!?9N?k6b!z`tJ zSPl!!-Qyh3m#9Yiwi^E2hjydDC>(}_T*I!^Zs;hT_GiR33tS-Gu1(%4ja_a;l zt5l2oKqRQ#v&r0|I^qkN=lCSg zy*u}b_<}@(e&TVRfo5Yov+#^rI;E6KUDCRa_KmMUW63=KsA=%6d#5aAl1!!F5s0#Mc8yFr zM#eAa^aE<`E;GZV>vVHZ@wizQvohF6DJk?^0YQ4ip#TFkF+iDd1h3C(+5D&9p?2j}L3A3jfBnO;V02nI%7ucMIzHyR^Eh8l;D(6>9Y!E}NaGFF-sOWzX_b zK5Ylq%9Y-1SS(`;V@UOU7%GjW4CE|HH-ZR_gPraa`xOj$yA6t z5AX8wE6-6c78rL84vs`}JLUMeNKn_wS9*N+{eAwy=a*?z2Yj;IR5VY+a?+?2*;-5x z3%dDeucjtn-I<$iZ$#J^rQB+giTYF?N$!er=QGC>Mw-Ure2~BQ;w5T3k16+iJT4mC z6qK$xQ=%{VCCg3=JL`X2Z+Lz)OC}Md(E#zD$dF*?q|A6^5%k(wn+uW6ErLr|g}Fkt z%cFw=+p@g}HsUE>y|#fqGq6wX9E#%5Y@lOTBTqf(%Hbb1E3JE?SOb2av~}g^Vq#hvtEm97WQLP+MOo;S&`I#mPJ!zTa8zzOTKnGd=r;8LT7- zf`UMiltfWcq{vdKQnnmdVma}W*s)WoN>Wi=Nh*mdQOU7fiYzH{6|GnnwUH795+p%v z17P-<-uJ$@@4nx2w{xQZ+my;5(x~}@0Wj#>=e+NKd7j@xDm_CqYIAy8;mHT<#H;FLfA_IoM<^VY>M zao>=9BB5eIWGIu)WhkDOxqts5nrBlhHYrvdnqGjbOHmS0L2!2 z`Io={Z5|iebcSb41%W`CK8v}9d32wS&kc~0y`gW&?rBLOs=oBbXKB>S3~9BBcg4Qi)ZaA-C3YeCdT{wDFif|L%QOb8~24{rT6tdbdrdJt7cviDakv?e9F` z#>FL-`*KpQ@YlccI^NJyQ!|lG$W+GXZ*W?z6U(Iey|+H%(fxIP^0Su+8y=P8V~jCW ziXHZkntW0mvC*h=Co|1%rOkFl5V@LS3FN~TFkegi&AP&p!N!gGNokHsqZY1KUb0Lb=`K>THTY zILJv=+VBzO+L*eax){+Pj?d&znoc%saeFz-Y%WZ|K*?&33st2GmSvofiDa=EO~hDU zOtE%OLUzOK9iGtcy5zD#MDnBA@MPl=Pwth_d?wZ2kX$xR!h%>ZpyJ|%6Zh!e9@kdp zsNr(=X<4DDUb`{NFT8n&t5>e$n>t5#*rIY+;@E-FM-IzNNcsIj-TuiTy@;_Vj2QS6dThp;kHW@ly@v>bZEudZHK`x%+_HvHr&MmNXVGW<( zVt4z1qiT(>{=qkS;r0!@MnjdV`Fw(CGDf}ISClA2l0O9<(5{n*b}Sick^$cPlft$B4Ff*HBduM~fevv}4qxg55TO~zzmEd1@ zB(xZvfHvgTrDYmNTWu(MO(g{$*)MgxBH?G4uQVQ$Z6nGXB8zMA0hu*P6);1Amj&9M@$ zri8-Ns1vfJni(iY`CiLG4~OWuBhsl1Kl%JQDzXFXOW%6Pz2g=e!lFRTf@kH!*^%Xu z)O`w0e`zMjFZ}2$tS(F`%S+km^T&VwfUUy=o)z0@0ay(M2_jxAmyqcv9PtwjTew39 z!x^g(=twf5%EV5!PBI#&-)JdDowPBPiN{;(>r{uHN*WOrLT{q0JRt$oeD=};OA(7$ zz+`%H2G<&+{nAT|-reIm*B7RE;p!Z5zX4W&?Q(;%<6#8S+`4jE`Cx3l!(`N8yIA5M z{x84F>o3jo#p~0|OwZFjK453J%%rFB+-E<_qkE4yDmH1gM~b6$RCPG2b$HtD(Df!N zy-Yrw>1bGOuLVM~n)1uAL`iEL*JG#FQe*JBK$xg_-1`pIv8P_PqzTKJxUx2XyHrcF6>F2A0mWP%jOQ=ETJ(giLgL zuFhulRP|(1yGfRv6oOJJyM~KBfrRPD4(TK`T>;nYoe||;m!;_ptJy5WzC(ZF(r9(Emva2@b1RH=o8NnXo7wYM`1}9ikCBMVBPJW`I>(hF|LyUTJ^M%{=8%>6-Av?7ie%()hEcOH)Z9L($(P20=DE5Wqxj0 zpbt~IV4F&$IremPPg6iWsX=?V_zVNT<|&)BW%@a6G^lAV=jL*%Zhy8>;Kp>6pL_ix zrD~U7`|c)5zr{*8!a-}uUb#no+-IbDSh`Klv`Gnd5*KGQq(2%`5Mie~!PZSeNZyX6 zPDNp!x!OdfKnv?2VQM5}VKMGX6yIjpPXvwE+u68U0D`EUAIU7Y2)>sP3^D;ymbmAi6tw}7chrqCP) z1JcP9!H`X(SyqQs)UDZXUOk@`k`zbPKA#-aXtX9w#iB~V-f;wp6=Ets#c8w7aj8suG$vw) znUaOLCJ~N7qMGp0J@pI(C3!EPDId?1^%B$RJl8L#sns10jtUBSynaxkHXc!K^wq7H ziiHUI#UAdEj|NzqpJrALkyHYAFyX|Ktc=@A8_Vks9l4SBk3XiVAmZAQo+9@24RlNH#iH37F8LHPR?` z9rd7E*qF9YdF}x><`<1U`lSK`%h*kCywBW_EXYp`3XRfBi(MkA-I@xvq}q(vsxq-hfiIp-{V`#t=_`xmu%8sjzp{Vr?o- zCKYEQ*iYS50}_dX7dPqB)D)qyLnb8l<`f@3-QZvS$y2t9J$~xWJc2}5FQDjVki_^q$uh12|<&tK(m^BAk| zu~jWHnE2GL=8acZn2JuQ7bonC{e8d0{bHYcM;%@|zrgEvF0*}FU}bt)C2{+FI<-oP zd(U>&3gw{E<*)zDmwEY8mUgqu$9Lc1(UTJuLtk;)L?o&t9#VnU>2z34R;`gnqbJ1I zKJ`*VVbLr}@9Q|~aFBt7OzUJFF&+2Sr4V1CuuUu(;=2!y_~hvc*OwDqy)w_`Yjf&3)PDKzz2O~h7jc>%Gm$Vm#g5uO zf9B3Pp1XFDkvRZu$okWD-hH@Dt1@CC;<9vcn!YSmgCVlr319!_$NZa*YMclL%NTJx zm*=3~XE+{nE@`RlaN96A>2(QdrlN$(A~O*Pp-JARNJE%#emYN7Hwk(jIua#m1gUff zeAw)%Qy`?UnAsXj`AC+?|7BiE&rNrM3bh?jE-|YIbNy zbv@P?j9l6Shg>|#Og2Q=XL3?*s;zWK2&RUxn{BdF83lZlai|C<7N$dFjUinFa;C=e z(iHR8ULZHO#DDXvzs1+ydXE=xEpkCz8lLRMEW%-%&)&Yl+-yS0mIiH)qvI-bbMs1m zH1ftOG}#D*l#1FlgykG!V`GE8gErHdfEw-Y?-oHf7>F1Y8RzTR;UHIU-Jn!F;WIa{ zF>Gv;5bMZr#3xUS98~*ki(+DIt10B%91jo0qn=EINf@@Q+9ckWgBn=h}hwh&=!(&S(K-aUT&GgnB)b^h(2 zK4LUBnGc0Xg#&nY94!=PWhupMCa;J`(r1a1V0V2}!9eB~m&s&vf}ByH&1aQ1?>u@y zxLYUOZ?QZ##Rogb{NcOX^t&EcFU%8apRk%uV<(en{t($ng00P`G+H8_jngQX)xjtH zyjrE9jB(qiRhsh5xUR~L+AE#V8M`FHQT59j_h<}-J)!Z%=a*Fy;q%YmA`p*qP;Bz? zgB=yIGHf;2**a0BrWW-Fy-TyxR4QfeT$*Awo#N!QLUc6Y`mI@3&(Cu2!BalkE%VI> zHN{K&TR(n-%gZVJBa~J5aIZ?SYw^LZOurx%2s3ZVa!ONU*L*rlzvuC|P*n}7^c9XI z!x=8QK#)|>PcrCNxFXH=7`1x}6I>fLmF!(KU6G{4ZfnRVM?K_#NrrqBN)>c0F69$s zeV(!_EH9r~$Ath>X>0uX{l^?P`xI+!H6j*WlWkb&6N6aLW;K(g+HNXlot*5p-$zK7 zD0H3OT7mYsch=bcU|$dm*eoYZUOJ!T!rBrGb6KT6&dywAFzEBa{SW!guYQYx=SL3= z2v3GAWJA3E=~Y^l4!`y%8@&B-k)L{bmjC?czo7a};bHH}?eB@-q{!xmz#ctjr&FAp zjk11F<->=&NEByoYDxuC31+uH7_zdm%)=*7`NsPnQ*Vv9b}mP_Q{l^Ryw2w4A;sQ^ zP&B3(aYx4|T)%yr)}Ti&n`3@vmR`Td+W9r!`RHvbM<+bp+^16XNG5}LlK(T-IBM7F zjWphTae-&+1!7j5S60Ftjmyks7gdF@I2WOOTI1J$?=j(Egg5S7;Of;S@{1DU+oad3 zGo4MVN+;+uX;n*f+D*3i4w+k8!SDrCY5wfwi2wP1m6L}(66pcI^dpzK7V+`F{=a|5 zdz($Z_~K2%of2{Uv|W(j1iz#bniGv(O`x2x8hUo-U+*5qCxym@eP^0?+5JhQ z&Qal%uxHa1py0@%>yGd=kC;D7N9+O}VFzVd{dSMNNukV{vTx`Sjwe%`MD*y>@w3yZxXQY1x0~F5vPs=>`Dpu?$D0Lg`~)K!`9y}P zoJ}?wp>$H_;`}TZF3j+7>x6rcwiG!^S`FK9>3U=4F03*dj>zS+Dw|a_k3PSjrG%fo zLV;GtrP=GVeRx1D6eVhC%w~e5qXESf7dLJ~maXlkauOVr`(&q5oE)6+`kSBO`t27K z;6Ip*vHSR4o^9;1{%B7PKD2-S_rBzlf5eE^I?*aD7j3Wsp%-mRG9VM z0?AyAFTL>+-lR?K=!nq7qkZb|@smTocmIGw*JZO(#c?$S3=t1b%NwebL58{#e<9=9 zA(CunGC!T-r@#1F^vQ(N)4HraRk+lX%^mvHF4azh{?Jk5U{|xSyfF*05Z9M-YG*ZT z1t_;1O1&;qQyEs$aSrwyTv|xeY&Us!+~)CVRY_%brH7e_A@1y$z+l_}03ZNKL_t)2 zkW(lb@F`jQTsDs1FccHQ(kI;CI^}7#rb2H8n*W#oM$ocY%0|_#F~5}H^1|7v`I~=m zkK>|jw#7p-<{$mXZ}QseJS~;#)~47j@5W~WH%S8ODL6>p3r<)WjO-2(} z$ycQ2kNRvrbz_x;NTd9IJXNFH)arE>mgfm2;(Yt9?-Gf`m`Hw)CH(Lv;p8kkCr4!B z32xrJf#n-=Qaqx3Smt2kfUaTi^>=qzjD`7$H|}um+#Flm2dthur?5~T-~EVa$j{Za zb42_;B4Lg1{QlRty8(4Tiof6Cz1_Mr47_>sA`4N2`I$H&pT_yimwEhXo%yL0t~Vr{ zSws({INI4^#8@f9kN0;`IM-gEC!5C{R2{y(amrEK!Ig*6)$#NZ%f0~5FQv$*VpOET zAC7tDr3*aXEhzO$r8*SPu<`&2#norR)faCPkB7_7PeOX*dN zaTBLiV9<2vH#^i$E4=mRAM;FtVa*_I&!ahpo+}LFF0qhJSx~s`0q#U1QAVn%lZB{l z$_wUV>iQ4#NUkcQ`nva5+9cWXJ7f9yy}wcy$ipo1oGV!$MQ6l!w;EUi8N}nwPhFzh ztZ+FJQKwd03(y>ZKc3}ZedBGO9T$~!M-%&>CPbIBM*PQa-{32sI*%t_kU@uUzOzN4 z1CL5|)&EEc6uLt;;N!WaEPcaP)0%i_MCH_B?@$7E<4TB_ioh>^$;9(arQ$42<=K~!@1)NQH`mkS7FZVKE!x_VR)n4R4(su+=CNk6z@jeeoRM{Kofr=e;`DE~h!&KW3s?Y&QqYC6oN) zzxx%Qtv}*(pL>;fG{~@D=Xmc>>HDVUmgtTneDq+0X1zcv5vF*!&y?lS>T8M*zFTp4 zT<@#QDV>p0d`Mu}XD-cgGoM5Y2FT9OV|DsU?O*CODHPfS#wOo*ut9q;QGi|Hi! zwOJyrKEznW?~kha0JIWgI3P0PBS#d^eQz%hDCaIn)axP&zn$dj<~cmM`3%P za;whN>P;f~1ri~R;jlx!c|tf4AfAtMvh|3KX9u*JW3;ba%X>4)B=Z@+IvmQqG2;m= z3QY0xdBUNH`k~ECWf(M%8MKQ^X;9d$^YHGD@{&l*p&>5F{($nxqd0as=?qj{V8ogb z^N9=7N4eipC6JVb3a{yT>iQJv#{b_}P#pS(t~?$84vv7;RFJi#T){$_8E|*M$zi|8 zY|yVJQa^fmhEHFcVQBj?gGt5A-aBcqSE#doSV6P=s^(qH$CZEN?fVb;4_?2(^XFr@ zqcQc7$G`s5PY7rs3grQJcgu8iSNV!wyEe^Kz)&gL*Do(J9F93Cobu|6=ShWi0-iyy zFDNA0a$98bAzHm5@4Wkz#yH5RKO|%YDAZf3(N`mK3N){qqU;l%H6a)avJ^8} zTUg@4)hl#|9s0el0>VomuVDm;$1{o#7fVIX#Fef?$e&b!T;fMEjDZ?}oE(>V_`zdk zcw9O+&)s*vM`k)jvs1!$B&4jQA~B^$v`m{=HcPiwpx5YeR1gwTA5kmj;voWY6MrDg zPk!Ok2m>pZOX3SfsFe08?4M96_poCrg)%#?R#kr^WxWJy1vD{09;s3K!}UY%oiwQo zCb+uBbkxVEmQq|3ra&W z+4KcCfAu_{dh>Ite+dQyjGZc4r^KWsFHnK+zq`Z!!H|t&MM+;oz1GIC_6k^FX`eZ_3rH~NhR6y5> znKqgxvYi1}Q)%WyIu((}v>XyXTj}OLcYU50&QCFNbxxcS*RHHlsT^~1+~Mte2TE2X zMP)W^@T0dcu)kl$?;B8R_qcH(&QZtUH~#byFDzwAX(lI4*ltu5RyXFK@DKl^A134) zOif45g0324k_iKM*rC-J^4o7cX(``Kvt8w2|CDGvM=YJ@!P8A5u@u_GU}15F zOeRjf-lkAECXtlPCE*sBeEm;9z;78$r(;TF8BfMY3c)5D2Yt-9zx9|w9~H6{u`JGK zW#sFl)9%RzS&i5wXH-VJnREujG+0~Cs%%(Ec^G>xv$J{bK6=XUzH^}Zn9Jv9nOa;_ zwsldE$l#(>uPWxYu=Pr(NB9B})_0ER)CL5`P0r1R7!3`+`@s`-n*-VdDUEGa!N~LC zvos>2ixWYqX>nR>;CTZ+bMrcPZmg(bK_;8QZB!M^Uf}uSrk2I6Ogw9)3Qo60Fofc| z6>2rU{@pD$3vGV(i?$ETm#A&Q9^chg-b;@RW^ClP^ENM5sF?lhOqZ!Lz*vtLMU`^Z~!~UV~2xW0JuM z3rYF&de{*^KmLVVeEHRzOokpuM+Y42*66zqu45}H3)YB%9_BZ`{{ zZRVp%{1Hh_)0BKZ7!I*>ctEAuSJcvII81;Z<^G6ZEXu7b%T&ruuAa{`(FH)?0){+! zw1c4su}lj)98+n4$*G7kupJ%mva`|PjnBV|ra9;%myhl~V}50Z;Xo4X93DP=pp?|E zZYg{HE1!CS-GeQ@`<)Nab(4YPacL&T#pO91$uY`LlZpBWS-NV_Wy&ehhmzNG_3|R^ zY8}7sV1+|`>;5jk{)dm5kEghGbqUY5FoVLB2(Y=i$(0+|Rj`;$1=lXGQaU=~Wc!e? z9b|0jbVm-^Xc%{*@!-Szy!HMwT558pVHpxwZ7D{9&~n^*_=eKX>LMtX-Vt z#aFJ9He=*+Sq=}66gF&aZB5{YQN8(GDMMS9nzEQxK@W)l+Z~_r(MBWIclX$>^;M+G<@qQ< zq5jnSY&IZhjaanL@Nc!ThA)yN5KAzWC2cOsm2*=}r!6||4i7)v;qhjf(^^*rB;COhghfRl?Mo4fZxS6y9ofHb=idP-=!o zwL`7dXRFktCCFu6T*N_EXRea`htlT#{D3s?ytv zl`@xZTv0eL$+_}dVU>$}@8j?AM_>D%B&U$}2N}nL7{0LTO@h$~!@)@TzU2E0hlK%G zQB_VXnIs&Iset0gj~>x$^x2jDq~p*Y%5ANaPDb(TV{GNm@~cvFx7=h?RPEk`gdLdvu)Dp_!zag7yE=dPXj9oZe&Y38{Chw40{`@X|0*AE z)VaQv8n~Ie4$_rOmolX!mJ(Y2D_0k2EtGW5neLi{r5j({?d-VZZl?D}8IBA;dReYM1 zS{_sW5VP4R5uxVT0UjP!Ij(nfm%Cf1O1zkl`B|P%QqV2FwcAlj;ssr!bW&$vnu@F`&1ya#;L2=V^#pP&S2_bK zts%u`hl%HrjmoAy$zg#QoW$`y8(C(5=g%(PO>VC0kv|euIYaewgAYHvhomMBhc1bb$#l>nmr3Kx#c4F_ zj9OUAEA1*&Dy2&B$F{}#|O$bB8%3(c!r7JFxq zl|OUsg4gXd)bQYGxkpnnH#LbM@s#Z0m8;8q`p#7n!4M+((Yzt=zw>=%Z@9m{&#r9$ zC9%OXlyts3IwM;qjS=x=m|!HJ9ICsACv4Ov?3~t!nJx*#QdlPuO+{@>scbj)4>^|9 zuknOwUsNd+1hF*KbT#T0`Hx7?C%8;R4&@({=eTlL3^X7#t=W+r{mq03)PmaqRG(C0ehODp}t;z{M8#T!Iq;a;X z_C1w`-4?ioSSC^#CCfKl!CQ=ocpeS$=BwGEMWs+upI16;V`xKl1L=m1UlV%>2 z*uWdsnN$vGH<~mnRXWWYdQYS2SQO>YFech=p;ZI9B zHEFl0wld$dK_gOUiF2la~YP#xF@}be{4+YCjz|vJ{ zZEMgcDE=9rpMaR5EQ>B8PSpqwA(ap>yv@vPTG@ZI*^Fu)WvTbzqjlQd4%?*yemg)i zXfPF*P-BBqv&B|@%>8PYWMIPIf8#clfr}kWsuxi5Iz=rV5BsSX+kAhw#&)a6=m+LK zN!p9*6K+kV$OR?8XhgNyR-^QW;3}{w375| z6D5y$^ZX)}=7~$rG^T4%8}^in zK$dC(zsrUK+`KZcUQ97deeiIdMn@c0I>mN_pk|W_n9OFPq*Gz#x36}D$JSN`#PkhG(+8i8`@mf>i3a)d4l^_VHOLUIs`iTPMWA;)3#f$@5Vvm(k4-Gc&U^8uhb8@aeo76x{##W0fT;FI1^h zXD*jj*+#9NL#JM%a@e3Z&>6^9TY6>*9n%eT(c0*eTo@o==+q`Ir%n&u3@|MKdfQ{H zjmU(e>U*hl93{P~R?37zNjl?!f?|H|_C*%*rn0+R^chRGkUz=&$2+tfmy0i4=hL5g zjX}LYqp+=ZKTfU1$PBT*vB6=n%i~IygT_!r-Y1hjl35=ICtdY?TsuF-xom{){s8S~ zFRyxACk48m#%|Z4_g62FupxC-BL_^KY&@t&mjOxq>JAzDd=x68ks6+reY!^0w#kQs z>O_*UrDSq;hZA~37g4~44O`tBViA@ZyZBfF)`X>OoKB^|*o<*ntFn*|soWdO3MkjB zEF5LfAd4)?{4`CA^=gx&ejj@>#OG=>T~9I4a<<8GI*uL`pHYq1U%bqzlv0%rmM104 zkoMTY^h-(Vr(JEcvXo?5lA?_vI|n7oy#U{Qy2)p6pX0NyTqGb;q`gCR`+EH*tMfUP z-nRL8mw*vb@r2b*m!V;EQg1RCL9IKWWoVdIK;_cN=b<=lj-x;tN?$PrRv+?>HmKxA)q%!gwT(3y zGjMH{xiswesI>b^HIWEOrn{xq0?oc4k>y~tSWTtatyieD8wzHxi^wtPLUKE+HjO3e0g{<%BEXXZI>G}+xhW@akOxrKSfppa-v(av?6O@$_t zNJ`oJJZkim=`*H#oKIL>TFle&H16)6a#HVbVSbv=oQt9T(w${*yEfoSsmpQqY@Yv@ zQkRfnG8YOH7PWvqW-c0FX=R4H`z5R%)Z2YdI}SBbQp>HQbY_~8>?rM+s0~C-Fp*4Z zPyI6jLlmPx)E7Ya#;V^ENl!X#(dzUV`~B>fi)aIznCCK|OEHs9FlY}{j!b_t!WlUX zM=&1A2|lFb$cyi?Rj-i?$63hQT%O6YIOWH0gn9qb7Byw>4)amrh=A=^a`jM9ba@t) za+}JaO2{7Z+KZQY@8do8D_y2y7HgLly3*Qwrh zm{=AqXF{viquv{^)u_|zOw>UnCu~BqX-s;wWojuv3MB4PZp#o+alHm?qJ9IvEh5|j znon-2fWnK(_r4$r)3%?zgHtqHdZID59j17E!cw-pNKDUiP_AJ4ee`<`Ze6)V;qZvP?J`C%z;UHSVmxAfdyC_0Um=wR zYbJiO<&>W}(az=K9Mqc%T9S{Z7NoiiHXqGQ%G!UU+UQuR@Atxq7B-SfVEr%}!h0qGCfA&yqaZGL{xWsia-| zOdkt#b0kwS27?Y;8|!R5+vdSeh2GF1X z%ZJ4-j#M~5_%dWAVFvl(tLIg|($m9Z%8d$9b41=BU^*FA47q$h&Dy0Y;(nWsOkySB zyf>j%tFkyf#h_kMY4HU8>IU0AI)RB!t=8tWSRpNkfL~+SZer=4iaHSlabYl`+aIca zI3J6kEr!Bgdo+?hQ=J+C0iD}AVZ%^;jQoJT(U45UWHuRPes+<~?Hxvj$+O}q+ts#$ z;Y}t65uXoDSks=T>d}C0kqAU+4tq2P5>g~F8gj$yDm+R_%stt|%kydw^!ey%L#`&H zj0ZzC>Rrjl@asOpfsiuX$p|$XNz$yAX?I(S-Q62@)Br-agSeK4VR=M?8rejS2OB$_ zwtI{{i-=(vO1TdijBgNK~ea zn&%_v_0_;b3xqIi8Fjaa`V7@m$_-oXc1fgSXoHDTb_|A|ShJYV#hA$kF#;B)R$tu$ zx_l1(Aqz9JtX$0V;oZjyYB)1BO?Gjfj#H&nJYsLJ#?wlR#Y|dd8-+ryDiw9lM`|k0 z-NzgFh$}Md!QKItR*%`GWm-;;wM%PM8mH<&Xf~UqqH!u!NtwtJjmgi)`9X-XUpbC* z>A1=yx_9pphhiY~`|0#0x73Fjiz|`w{8Wy~ctE38CN6fC$yhB?N2gV~L)a@e`2J~w zvK+t@DcNOQ?Nd6zmS_ow4t`0*hy}2M8s}%Sym(`Q(@saFe82VmN9-MUdGXd|d_li@ z;ir;u^2sD0yz>r0IS8v~=Ej~KLJNnLs^hrZMOapJoHPxAg`?EiTQl&)Y>@xk+SHP+I?CQ zV=m>pH^yfh>J|`Pl~|h#-GLa8NfxJ`CSp)cjX3?L#cU+V&FQSV z1xhtxg86B728=bGxupf3l}_2(KjK_0O2~2*)KSLBStYa-@}`ekt)=!W5i7!BtF7ca zaoy$3TWj#ZH_--S%BuaAV((d(n z))-)0W8PSr#vORPf7qlm?vwICScV^CoyvHqOmA|d%PF`Rin7}(le8?dzJN-;mYe+A z#d%CmuvMmlFiL>1d`c77Ko5jCYP7MOv62i;43|lF%*Dkl7cb=rC!<8Nd9@$fT|ZHP z_^GK`dgC_rT7!1GL!ne=qgX@JO%@ksSwB4H+J%cODii`%001BWNklnzLuxuzuR7ElZF+r&dbNpb+Y~xo6{nty1v#J1 z(d#zpjtvI#M&c6EJ#_`jKBLs_;n|u}Rm%|IdNM&irqk>~sprt@I`qdLhGi-qf;7}B z*vWHMf^)?7p+b@^xSY)^phdto$yhe#sE_9NvwHnG+JhcN1~ukkB&}hO(ZME<$N;AacO{Ky3BjRPziJ&yq^zG8>5&>h(z!@?6i=?kGK_cfKOr-mHSFhaPM z-Hn7wcUmoGW@bnv;(YSS2Xsmedi4&mpoPz{@VpVpR+%GpsYGDkk!-eS#jw|*J!B1IavnkFm=Sfc`Ri^LAHTmxMK2QjO z?r1{4-Q(kv2Akz7fA{BqlC(Znc&lEsu7(>!H$bt|1jC})>8WyZHWgHTrcbw+iiQ;B zN9^d1(^nKLPjs38#pkbj#d4ed;|6vpM5o`!=MNA~gjkx&Q9LN9>C)y-iEzNeh}xW# zT4?!|{G_5W z+VzsUL3(4C=hoK9WfDr(qJ=E#l_Kl+o{>o>h(s(Ut#CC@JtQ*nDAqe_31=FTzA)g@ zr8R;fDLoC|dgom=5Rek<-+yU^oTlM)2NW6tFA-Rb>6s}tQjf)=q~vE1^>c8zgBeayuh)siVrp+U9G&$l z-F}~3KBvl}-Q8Ulb8{+VRu;7nzV{8bwo2^QTQoaEo?o1!BK>TCq!J-YogT$efH$tq zlAMk(ZVf4&Rw$o#Ic$#9Y9o`=$?NM`ColL*{c~UU~kq;>Y=o1V?*&+<&~MXg)rFP>ue@8@4hNCy|b;0m)?C zSLuNVdpk5sZOZkgN_5cv)+?91-C~uaY6o4U(3ZyTa7gxPFBh5v#Ep&InrSr?29PYCIc!LYed0x1)s-{(w!9bO9;dqLpqXN%% zk7=4AR^}q=MV(oiVZT@fEz-#dNwY`Dg9j2rQg_%msPVl@|IDYPTSQEkmDw~; zc1o(~v^8vTD-Rq%&{3T6Dtr#?l$Qz58z7>HG2 zzlb^M^Wi54yt~_=+4B&gk7k^e+zDTh3)8cTXJ^=uj)a+=%QK!hJlQ%v1G5V;R)DB(2`6%KX)5LX{DlQJ9G1mKINmnPJkCm+6iuehKO%{|%EW}8%YPt?54Pj(;$VEdW z{U*g$m#Q-&VEMR^i;>Pms5krAk_;_!^JbIHb{*F>nT>>rMf}XqWXL8m?3|R&7O4T5 z*!fhl+-NjW&_kKjO=q%PJio$t*u`gzcy+;B;CXm&6k?#vgQPbVmH& zUwg#WTZ_E$x#uY!m9Y&U-@SW}`I#Jt@L=VF(x^cVko+* zdY7mj#*eVQNBDx4a-E8dMiX(Q6`x|Nm+_vlz+F^E^MN_I+Qv zx~li?>1Foea5NMbD;6RNN|?Y-j2H-r1Obe|frG$T36cN~kN~-fFMu-y3mrA z^I(K(twk=IVC!;$<6?p9%W_{ND2|($@AkwZf@<6ol7y%`^?4N%ohr1MhmBH@cp0sg3k^vaQGwKS(4Er z!t;|7zRU`SK2h=T^@=g;cm@Qcp52;|7;iOL{93rSeMC?F8sZ|`KO)VlGm%3%*$q3y4g7VBv*Z{J>|)fp=%hcwWM3MtB8xkZ49U9_QfTfSIAwzNj;3OHZtWh%cmU zQO`;pG_NWcu~Z`PRkr$7Mn^Wj(iRtUnk=QHT3+f$G%lK5+J=cc8ll|jkoLM+js$S| zouquSbss8l{M3|$p%Y`=XJva0%Q+uY}5>B=*U&R$QX?AA(*XgktB_*4 z!^z%RRke?Mj1iZY^LPR-bkn8W268}Z`j~h)s30TP-nxTjJ7{0D`P2XPmuLMevX|P|eDu=mbk{G6N2C|? z@>e7uw0W>wV{S3dwUuQxjvn?M7>yQ)yk8%vHjq&~O)8aCiQ+;&&(ZNQ$wZQFudA#~ zPoF%+78+7#Omj4TRq?qQiP(~g6id$F|1VM{ju3OXiOXI`L!F*6zn2rqNC*^MpQ;6C zR`ULuMYA`<=`wh8b4g`2Ze819G9D@Jv^g0O&O{aWtkD@zSXxu{6h^m=-f8pr(PO^z z*$IhgfWP;~7U$^nP`|V zetJ(OCuI&E;9(?!$4QC3`h=UCt8`1p#3FIr9-rEJheC0h%^olI&lzn^Ov#0O#55g`*TQW(N%%vwEFG`uqtw439SkVT$Uw7LTG?dMlZf&_ z!4OwcY3`S5NQ=B!?BCg*V=cwU{Qmn7 zS<;;9kaiS`ClOLC|U9w+-R}7tKn8u-{8thtujg79Oe{n~-CsV3rQy zlLrHM9VVfWkMnMy(@LKkx3(F()KnF@q1`Bz+t>4a?dCS|ScZOoh{KZ2a+^}4 zj>qN46Z9#s+uXt;+2sNszyCgK$vJkg841dY{Xe7WnfIzT_t_ z&iS|R-KA6>k;+BbihDUJwR!No$j!@Zgu{L%f%i0U29v!1gZt!?0)W`(^_^=fNh!SQ z=X(c=>gn=27^q7fby z8_Ld+^|*1mOa?O#?tmYMIEmd3B5qAlc*drKKqx?~qhpB#z8vP-W`=w^3i^bTvl5mo zfbMWHnu@G#^603~MYYP>YJzrC<9aGe;p$~Hm!HGqGv-$oINf`}q$7Zr0SogPGOP34 z``IV>OgH(Z71aZDG3fB9(^p{hrBIl8%~nV+LrAY~H~Lig3&LZtnTk&@mR1!q7kw$* z6%k(J@=}(KOh7p#Bwitf%I#){sczCUEvh|(a&Mw=&GL6$33*64P`8RK9VPd(DRqrO z7s+spdQV~x(t4;VThZ#;8eLK%>`FDP}V%6)M$ zv-yoTuJY#9JWn4N`Qv*}*qX}`ci3ttbz?Ke`q~D`Ttbb8-ASL-`2|M7qWsBEpKxPkk*&29 zU%$JeGASBv4BN|}eE*YIH6Z>ej6D48d69R&@iv=V^O(~ygI$IsB50rJTx zE9(n*oCa66*VLRGPlPcIod-|OxoDp9@nN6mr)~cAuU)~MIT(sxDV$WALu-Lc|p0_W^FOTSC&J(ac7BCW}eUPzaYD@!i}Xlrji5F zZ5oX#L7#(aPov*#;rB{`pheV`z~OcA-@f+|-#M%^wO(~<#sglm0T0)5A=cwQCZib- zjys$UbowrXNH`A8DgWSZo|*2%G{;<8$|^VZ=ldPL_u&y=eQS}G`FZ~AgC{&bDf5GW z_d9et1CCk^f}wrjnwHy~n%0|q?VmwSH9%V8bC{LPf`R^T! zc{vfG-okd7cxN_ocZi(ZVoh#jT^M{OcQzL=MJ>ZpT}pD3%VOIfh~f8nROf4YdzHOM zyL5Z6sIpR@6G46H)5qBAllN$(b6GX=dAvS$PcInjCY_nY zYh1Vk0ls-X#d;<|I_PICBl}>)V%SZm-X-Y{GxBaZBHVOQY3lt5mex6Hw}7CX+$?kN@QF+TyYncd=ZZ;sze~CcJ1gakyMcGEN1Z z?4DNn`O`Wx!^3jH#hX`FdHvQhz5akn-(Y=ZjzT(#F?CVxj`;NcL&YGN^}7taLqgGz z+9i1XHuKp$<7uDnaLT>=FKG29YH>K5&bYC2Nja3|%N_|C{L0tf#^ttYw%UrAFI}AX zzHIP6J}RcNkoG{ojym}{$1Rx`psaMI~%6ia>H z|MZm8nNB7i;dkG=&6`&)lbp|E^adOjyXw#?7Eiz-Z%kcf`vr$J=r?G$F2D?NQtv7U zKq4Ar|6)K##tl=WAl$o{kFq}Eq|;X{1X0ccGf@^T4%C<1LCSKFNdy^N8r80$7!jsJ z9Nq9%VUG9S+N9n(!`49;SMp(t;!wJDS}X=ayt5o5<%v)%x2TUNOf8#SG|Y|V6hXg< zCI_pSLtmWousBdZpryH>GMR=Fah6t>)ySU^i_yvohAD!}3_~|?YZ|+|dpx>-K)~yy z*6J!?j8i!2ruZv${NWI8$BaxYsl0;CnZZ)bt7)Ty!S`l70{8l>vR*K_-`BYiphKTuhy`rSmf? zy&=W@Dm!awEC>AfVTFtOfVXdFdGFh|Rn>>-38<9jumAQRaP!tOSK>hqN*BB+wQ2Wf z3I{9e>{vLgayiq0$@+4db-%@F8$Q}=svVHi=}|S589`s|%oFw)T)LFu^M@6_IO&j1 z$%(5Gh)R*ugs*SS(;1EVVz0v08>{^3hfi24tnlvZdA|A1Tj+Y9Ks1M82xiKqTpN{Y zLoFx8hjw~?LcdeTF`97v{EVl?7R7lK4lURy})^x_*LXO+{01lVU@|A4}dATT+_~aM6)JG=T6t(De_+3OYaSBTd)QV?> zgCQ2SHq^*;u(wObF{9CJ(`XwEC#JdydlQ?}uC#5K3Y%q3b;V5|NK#p-w|{W@*%xpm%_?C ztDDQ@CHHZDhI~3d`{1E+AWH?I=A2S#jwzOP>{*}p{>~O(y}m}hHRNCY&(HYyeoZY~ z-6JQ}Q5RdJNb8k!EwaA+D2TdM&EO7mV5$luIqXd|GDzV#HIC!R3wP3Ndq7bf+WbZjN|-3K1r- zl8iq{Jm{r6oG`V;ZSPm_NPp1HU^K!W4_J$bnTrP*=z_Fzu(O;c9+K6Bp=dUL_`?^9 zTab$c2nB-V95$oDnA*t35%98;@pI!!PVM$Wu_zl`n|$xbf5it6PHA_Bq`grkD6MR- zvT|ujm9<4(UIIQpo`?sdQ{&O|eN~mCSt8{46-)i}qN!RArB>xkw>cjf#GFnXP8SJr zjD-C3rn(}#%6Dls8zUYK(`>eJXik<_*3}Q@yk1ubwnnq5#Dgy@eO6+Ad~O|MWa9Vu z)taC;o$>ObM?;;aQ?lL=ujgV|vmsg`7_p@(t~0R}#WN+<_I`_~aD|(F)c_}^clmE7 z>gKM{@FQ-ntmZL?20wp!NGus9HnU%qv04^aujE)+NHS`TdAVC69Pv=dhp5jCa;tOv z!TZm-n~$*`_fV7?$d;j4Wh-+bZr)mFVJU?_G{qxVr8k5Osow)oEHHSR3rsB{MO ztPz)TA-;8ak?qX_opOUoYs!9G?DbhDjvf=KJ}g%8XL4NG&hyUt+$*I@SyKW^?majw z@%+nO&QEIm!+-iaYEhUk+T$yCZm~EQReXtV zvqm%&qS72-*s{3paqadM{NsrtCk;nqwNY%>bUr@r;&9mf=G)u6wzEc~TU6GnZb#?Y zqcg^qo2tZToPKt;w>df9Q=!ec*pFIuGFuxwdU&7?4Eg_I)8STOL5WL&Oq{*r678-* zx!j`D88J3djs)pgmBw!g;GOo`Dzvv=NON~7%dn&43OWe~T|{DW+QATqpPvwk`snLp zhK)8($B@&DKFxs$3l6%oDP>*yhU5VC67%{=d35jyOu~o9;YW;GwokUqAva6u5UEgv zdcUKp@O-jNO~v{ArL=i<)FV(*r9QW&f^D^-Mosj0XOP8+lWQrFNFA#6z=`$h(QS=z zyZkh|b;!s0+U*st73PV%EcVa){P^d`eDSQL#;uK&G~fKn20p*2DRBAf657l`xmclE z8*pCg<8-=lnFjWB!qhosX>Eb)uU#iQzX&cb9;x&jws`VEb7kPpP#h zsuyT=HN)@!?l&leJha=A?woLRnWIyk0003iNklMfv& z)ymd5DHe$)qL`9kMWbA;dJUCHHY$>d2k9Cf#b&4kqE`%;K9jV5>tS_dhr{WrS zYA#Z-5WaYTt(8@x@_~;#L@kSj)jWipN-PnQ&U`vf_2igor$!{1;IwkiUsFrHDs4K;p-~}e*NYWx8J&s&oidc6b?m957j%&_=U9ga;}0|BFG^aOy2i-vL}puBOi= 3) tp-=3; + float time2 = time + 15.5*float(i); + float planetRound = floor(time2 / PLANET_CYCLE); + float planetPos = time2 - planetRound * PLANET_CYCLE; + float planetAngle = planetRound * 23.1; + float planetDistance = (tp==0) ? 20. : + (tp==1) ? 13. : + 13.; + vec3 sphereCenter = vec3(cos(planetAngle)*planetDistance,sin(planetAngle)*planetDistance,(PLANET_CYCLE- planetPos)*10.); + vec3 delta = pos - sphereCenter; + float sphereRadius = (tp==0) ? 13. : + (tp==1) ? 7. : + 7.; + + float B = dot(dir, delta); + float C = dot(delta, delta) - sphereRadius * sphereRadius; + float D = B*B - C; + + if(D >= 0.0) + { + float t = -B - sqrt(D); + if(t >= 0. && t < best_dist) + { + vec3 spherePos = pos + t * dir; + normal = normalize(spherePos - sphereCenter); + best_dist = t; + type = tp; + hit = true; + } + } + max_d = max(max_d, D); + } + return hit ? best_dist : -1.; +} + +float EarthHeight(vec3 pos) +{ + vec2 coord = vec2(acos(pos.y)/(2.0*PI), atan(pos.x, pos.z)/(2.0*PI)); + vec3 te = texture( iChannel2, coord ).rgb + texture( iChannel2, coord*3.0 ).rgb * .3; + float landLerp = smoothstep( 0.45, 0.5, te.x); + vec3 albedo = mix( vec3(0.1, 0.2, 0.45), (vec3(0.055, 0.275, 0.0275) + 0.45*te + te*te*0.5*texture( iChannel2, 2.0*coord.xy ).xyz)*0.4, landLerp ); + return length(pos) - albedo.x*.015; +} + +vec3 BackgroundInner(vec3 pos, vec3 dir, bool enableSun, out bool sphereHit, out vec3 spherePos, out vec3 sphereNormal, out vec3 reflectivity) +{ + vec3 nebulaPos = dir.yxz; + float v = Map5(nebulaPos*1.3 + Map5(nebulaPos*0.5)*3.0) + .1; + v = max(v, 0.); + + vec3 color = v*mix(vec3(1.,.2,2), vec3(2,.2,10), clamp(Map3(dir*1.3),0.,1.)) + 0.1; + + vec2 uv = vec2(acos(dir.x), atan(dir.y,dir.z)); + + vec3 a = texture( iChannel1, uv*1.5).rgb; + + vec3 b = texture( iChannel1, uv*0.4).rgb; + + color *= (a * b) * 4.; + color += pow(texture(iChannel1, uv*1.0).rgb, vec3(4.0)) * 0.5; + if(enableSun) + { + float sunDot = max(0., dot(dir, sunDir)); + color += (pow(sunDot, 8.0)*.03 + pow(sunDot, 512.0)) * 5. * sunColor; + } + + sphereHit = false; + reflectivity = vec3(0); + float max_d; + int type; + float t = IntersectPlanets(pos, dir, sphereNormal, max_d, type); + if(t >= 0.0) + { + spherePos = pos + t * dir; + vec2 coord = vec2(acos(sphereNormal.y)/(2.0*PI), atan(sphereNormal.x, sphereNormal.z)/(2.0*PI)); + float time_offset = time*.04; + coord.y += time_offset; + + if(type == 0) + { + float offset = texture( iChannel2, coord ).r * .005; + vec3 lookup = sphereNormal; + lookup.xy = rotate(lookup.xy, time_offset*2.0*PI); + float height = Map5(lookup*4.)*.5+.8;//texture( iChannel2, coord + vec2(offset)).r; + height = pow(min(height, 1.),8.); + vec3 fire = (texture( iChannel2, coord*5. + time*.02).rgb + + texture( iChannel2, coord*1. + time*.006).rgb + + ) * vec3(3,1,1) * .5; + + vec3 albedo = texture( iChannel2, coord + vec2(offset)).rgb * .25 - + texture( iChannel2, coord*7.0).rgb * .1; + color = albedo * max(0., dot(sphereNormal, sunDir)) * sunColor + fire * pow(1.0-height,16.); + } + else if(type == 2) + { + vec3 te = texture( iChannel2, coord ).rgb + texture( iChannel2, coord*3.0 ).rgb * .3; + + float offset = 0.0 + texture( iChannel2, coord).x*.003; + vec3 albedo = (texture( iChannel2, coord*vec2(.4,0)+vec2(offset,0) ).rgb-.5)*.7 + .4; + albedo += texture( iChannel2, coord*1.0).rgb * .2; + albedo += texture( iChannel2, coord*16.0).rgb * .075; + color = albedo * max(0., dot(sphereNormal, sunDir)) * sunColor; + } + else if(type == 1) + { + vec3 te = texture( iChannel2, coord ).rgb + texture( iChannel2, coord*3.0 ).rgb * .3; + + vec3 bumpedNormal = normalize(vec3(EarthHeight(sphereNormal + EPSILON.yxx), EarthHeight(sphereNormal + EPSILON.xyx), EarthHeight(sphereNormal + EPSILON.xxy)) - EarthHeight(sphereNormal)); + sphereNormal = bumpedNormal; + float landLerp = smoothstep( 0.45, 0.5, te.x); + vec3 albedo = mix( vec3(0.1, 0.2, 0.45), (vec3(0.055, 0.275, 0.0275) + 0.45*te + te*te*0.5*texture( iChannel2, 2.0*coord.xy ).xyz)*0.4, landLerp ); + float specPower = mix(2048., 32., landLerp); + float q = ( texture( iChannel2, coord+vec2(0,time*.02) ).x + + texture( iChannel2, coord*2.0+vec2(0,time*.013) ).x) * .5; + + float skyLerp = smoothstep( 0.4, 0.8, q); + reflectivity = mix(vec3(0.1), vec3(0.0), skyLerp); + + float NdotL = max(0., dot(sphereNormal, sunDir)); + vec3 opaque = albedo * NdotL * sunColor; + color = opaque + pow(max(0., dot(bumpedNormal, normalize(-dir + sunDir))), specPower) * (specPower + 8.0) / (8.0 * PI) * sunColor * reflectivity; + + vec3 sky = vec3(0.9) * NdotL * sunColor; + color = mix( color, sky, skyLerp); + } + + sphereHit = true; + } + + return color; +} + +vec3 Background(vec3 pos, vec3 dir) +{ + dir = normalize(dir); + + bool sphereHit; + vec3 spherePos; + vec3 sphereNormal; + vec3 reflectivity; + vec3 color = BackgroundInner(pos, dir, true, sphereHit, spherePos, sphereNormal, reflectivity); + if(sphereHit) + { + vec3 R = Fresnel(reflectivity, sphereNormal, -dir); + + vec3 reflectionDir = reflect(dir,sphereNormal); + bool dummyHit; + vec3 dummyPos; + vec3 dummyNormal; + color += (BackgroundInner(spherePos + sphereNormal*.01, reflectionDir, false, dummyHit, dummyPos, dummyNormal, reflectivity)*(1.0-R)+vec3(1,2,3)*.075)*R*sunColor; + } + + return color; +} + +vec3 LensFlare(vec2 x) +{ + x = abs(x); + float e = 1.5; + float d = pow(pow(x.x*.5, e) + pow(x.y*3., e), 1./e); + + vec3 c = vec3(exp(-2.5*d))*sunColor*(.3+sin(x.y*iResolution.y*2.)*.01) * .5; + c += vec3(exp(-dot(d,d)))*sunColor*.05; + + return c; +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 uv = fragCoord / iResolution.xy; + + time = iTime; + vec3 camPos = vec3(0); + z_offset = time*SPEED; + + float introFade = min(time*.05, 1.0); + + float camZoom = 3.0 - introFade*2.0; + + tunnelShake = introFade; + camPos.xy += TunnelCenter(camPos.z-z_offset)*.5; + vec3 camTarget = vec3(0,0,5); + camTarget.xy += TunnelCenter(camTarget.z-z_offset)*.5; + //camTarget = vec3(3,0,5); + camTarget = mix(vec3(3,0,5), camTarget, introFade); + + float camAngle = sin(time*.3) + time*.1; + vec3 camUp = vec3(sin(camAngle),cos(camAngle),0); + + mat4 viewToWorld = LookAt(camPos, camTarget, camUp); + vec2 uv2 = (fragCoord - .5*iResolution.xy) / (iResolution.y * camZoom); + vec3 eyeDir = (viewToWorld * normalize(vec4(uv2, 1, 0))).xyz; + + float t = 0.0; + vec3 p = camPos; + float iterationCount = 0.0; + for(int i = 0; i < 70; i++) + { + float dist = Map(p); + + t += dist; + p += dist*eyeDir; + iterationCount++; + if(abs(dist) < .001) break; + } + + vec3 normal = Normal(p); + vec3 refraction = refract(normalize(eyeDir), normal, 1.012); + vec3 reflection = reflect(-normalize(eyeDir), normal); + vec3 halfDir = normalize(sunDir - eyeDir); + vec2 circlePos = p.xy - TunnelCenter(p.z - z_offset); + float angle = atan(circlePos.y,circlePos.x); + + float z = p.z - z_offset; + + vec3 R = Fresnel(vec3(0.0), normal, -eyeDir); + //vec3 c = mix(vec3(2,1,1),vec3(1,1,2),sin(p.z*.1)*.5+.5); + vec3 c = vec3(1); + vec3 outColor = Background(p, refraction)*(vec3(1.0) - R)*c + Background(p, -reflection)*R; + + float fft = texture( iChannel3, vec2(0.2,0.25) ).x; + fft = max(.0, fft - .5); + + float tunnelDist = length(p - camPos); + outColor = outColor * exp(-tunnelDist*.05) + (1.0-exp(-tunnelDist*.05))*vec3(2,1,3)*(.1+fft*.6); + + outColor += sqrt(iterationCount)*.005; + + vec3 sunPos = (vec4(sunDir, 0) * viewToWorld).xyz; + vec2 sunUV = sunPos.xy / sunPos.z; + + float vignette = uv.x * (1.0-uv.x) * uv.y * (1.0-uv.y) * 32. * 0.75 + 0.25; + outColor *= vignette; + + vec3 sphereNormal; + float max_d; + int type; + float planet_t = IntersectPlanets(camPos, sunDir, sphereNormal, max_d, type); + float lensIntensity = clamp(1.0 - max_d*.02, 0.0, 1.0); + + outColor += LensFlare(uv2 - sunUV) * lensIntensity; + outColor += LensFlare(uv2 + sunUV) * .4 * lensIntensity; + + outColor = clamp(outColor, 0.0, 1.0); + outColor *= vec3(sqrt(min(time*.2, 1.0))); + fragColor = vec4( outColor, 1.0 ); +} \ No newline at end of file diff --git a/tools/packsrc/deadly_halftones/shaders/Common.frag b/tools/packsrc/deadly_halftones/shaders/Common.frag index 260e7e4..6129e1e 100644 --- a/tools/packsrc/deadly_halftones/shaders/Common.frag +++ b/tools/packsrc/deadly_halftones/shaders/Common.frag @@ -5,8 +5,6 @@ #define CEL rem(R) #define LOWRES 320. - - float rem(vec2 iR) { float slices = floor(iR.y / LOWRES); diff --git a/tools/src/generative/Cyber Fuji 2020.frag b/tools/src/generative/Cyber Fuji 2020.frag new file mode 100644 index 0000000..4c32ac4 --- /dev/null +++ b/tools/src/generative/Cyber Fuji 2020.frag @@ -0,0 +1,158 @@ + +float sun(vec2 uv, float battery) +{ + float val = smoothstep(0.3, 0.29, length(uv)); + float bloom = smoothstep(0.7, 0.0, length(uv)); + float cut = 3.0 * sin((uv.y + iTime * 0.2 * (battery + 0.02)) * 100.0) + + clamp(uv.y * 14.0 + 1.0, -6.0, 6.0); + cut = clamp(cut, 0.0, 1.0); + return clamp(val * cut, 0.0, 1.0) + bloom * 0.6; +} + +float grid(vec2 uv, float battery) +{ + vec2 size = vec2(uv.y, uv.y * uv.y * 0.2) * 0.01; + uv += vec2(0.0, iTime * 4.0 * (battery + 0.05)); + uv = abs(fract(uv) - 0.5); + vec2 lines = smoothstep(size, vec2(0.0), uv); + lines += smoothstep(size * 5.0, vec2(0.0), uv) * 0.4 * battery; + return clamp(lines.x + lines.y, 0.0, 3.0); +} + +float dot2(in vec2 v ) { return dot(v,v); } + +float sdTrapezoid( in vec2 p, in float r1, float r2, float he ) +{ + vec2 k1 = vec2(r2,he); + vec2 k2 = vec2(r2-r1,2.0*he); + p.x = abs(p.x); + vec2 ca = vec2(p.x-min(p.x,(p.y<0.0)?r1:r2), abs(p.y)-he); + vec2 cb = p - k1 + k2*clamp( dot(k1-p,k2)/dot2(k2), 0.0, 1.0 ); + float s = (cb.x<0.0 && ca.y<0.0) ? -1.0 : 1.0; + return s*sqrt( min(dot2(ca),dot2(cb)) ); +} + +float sdLine( in vec2 p, in vec2 a, in vec2 b ) +{ + vec2 pa = p-a, ba = b-a; + float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 ); + return length( pa - ba*h ); +} + +float sdBox( in vec2 p, in vec2 b ) +{ + vec2 d = abs(p)-b; + return length(max(d,vec2(0))) + min(max(d.x,d.y),0.0); +} + +float opSmoothUnion(float d1, float d2, float k){ + float h = clamp(0.5 + 0.5 * (d2 - d1) /k,0.0,1.0); + return mix(d2, d1 , h) - k * h * ( 1.0 - h); +} + +float sdCloud(in vec2 p, in vec2 a1, in vec2 b1, in vec2 a2, in vec2 b2, float w) +{ + //float lineVal1 = smoothstep(w - 0.0001, w, sdLine(p, a1, b1)); + float lineVal1 = sdLine(p, a1, b1); + float lineVal2 = sdLine(p, a2, b2); + vec2 ww = vec2(w*1.5, 0.0); + vec2 left = max(a1 + ww, a2 + ww); + vec2 right = min(b1 - ww, b2 - ww); + vec2 boxCenter = (left + right) * 0.5; + //float boxW = right.x - left.x; + float boxH = abs(a2.y - a1.y) * 0.5; + //float boxVal = sdBox(p - boxCenter, vec2(boxW, boxH)) + w; + float boxVal = sdBox(p - boxCenter, vec2(0.04, boxH)) + w; + + float uniVal1 = opSmoothUnion(lineVal1, boxVal, 0.05); + float uniVal2 = opSmoothUnion(lineVal2, boxVal, 0.05); + + return min(uniVal1, uniVal2); +} + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 uv = (2.0 * fragCoord.xy - iResolution.xy)/iResolution.y; + float battery = 1.0; + //if (iMouse.x > 1.0 && iMouse.y > 1.0) battery = iMouse.y / iResolution.y; + //else battery = 0.8; + + //if (abs(uv.x) < (9.0 / 16.0)) + { + // Grid + float fog = smoothstep(0.1, -0.02, abs(uv.y + 0.2)); + vec3 col = vec3(0.0, 0.1, 0.2); + if (uv.y < -0.2) + { + uv.y = 3.0 / (abs(uv.y + 0.2) + 0.05); + uv.x *= uv.y * 1.0; + float gridVal = grid(uv, battery); + col = mix(col, vec3(1.0, 0.5, 1.0), gridVal); + } + else + { + float fujiD = min(uv.y * 4.5 - 0.5, 1.0); + uv.y -= battery * 1.1 - 0.51; + + vec2 sunUV = uv; + vec2 fujiUV = uv; + + // Sun + sunUV += vec2(0.75, 0.2); + //uv.y -= 1.1 - 0.51; + col = vec3(1.0, 0.2, 1.0); + float sunVal = sun(sunUV, battery); + + col = mix(col, vec3(1.0, 0.4, 0.1), sunUV.y * 2.0 + 0.2); + col = mix(vec3(0.0, 0.0, 0.0), col, sunVal); + + // fuji + float fujiVal = sdTrapezoid( uv + vec2(-0.75+sunUV.y * 0.0, 0.5), 1.75 + pow(uv.y * uv.y, 2.1), 0.2, 0.5); + float waveVal = uv.y + sin(uv.x * 20.0 + iTime * 2.0) * 0.05 + 0.2; + float wave_width = smoothstep(0.0,0.01,(waveVal)); + + // fuji color + col = mix( col, mix(vec3(0.0, 0.0, 0.25), vec3(1.0, 0.0, 0.5), fujiD), step(fujiVal, 0.0)); + // fuji top snow + col = mix( col, vec3(1.0, 0.5, 1.0), wave_width * step(fujiVal, 0.0)); + // fuji outline + col = mix( col, vec3(1.0, 0.5, 1.0), 1.0-smoothstep(0.0,0.01,abs(fujiVal)) ); + //col = mix( col, vec3(1.0, 1.0, 1.0), 1.0-smoothstep(0.03,0.04,abs(fujiVal)) ); + //col = vec3(1.0, 1.0, 1.0) *(1.0-smoothstep(0.03,0.04,abs(fujiVal))); + + // horizon color + col += mix( col, mix(vec3(1.0, 0.12, 0.8), vec3(0.0, 0.0, 0.2), clamp(uv.y * 3.5 + 3.0, 0.0, 1.0)), step(0.0, fujiVal) ); + + // cloud + vec2 cloudUV = uv; + cloudUV.x = mod(cloudUV.x + iTime * 0.1, 4.0) - 2.0; + float cloudTime = iTime * 0.5; + float cloudY = -0.5; + float cloudVal1 = sdCloud(cloudUV, + vec2(0.1 + sin(cloudTime + 140.5)*0.1,cloudY), + vec2(1.05 + cos(cloudTime * 0.9 - 36.56) * 0.1, cloudY), + vec2(0.2 + cos(cloudTime * 0.867 + 387.165) * 0.1,0.25+cloudY), + vec2(0.5 + cos(cloudTime * 0.9675 - 15.162) * 0.09, 0.25+cloudY), 0.075); + cloudY = -0.6; + float cloudVal2 = sdCloud(cloudUV, + vec2(-0.9 + cos(cloudTime * 1.02 + 541.75) * 0.1,cloudY), + vec2(-0.5 + sin(cloudTime * 0.9 - 316.56) * 0.1, cloudY), + vec2(-1.5 + cos(cloudTime * 0.867 + 37.165) * 0.1,0.25+cloudY), + vec2(-0.6 + sin(cloudTime * 0.9675 + 665.162) * 0.09, 0.25+cloudY), 0.075); + + float cloudVal = min(cloudVal1, cloudVal2); + + //col = mix(col, vec3(1.0,1.0,0.0), smoothstep(0.0751, 0.075, cloudVal)); + col = mix(col, vec3(0.0, 0.0, 0.2), 1.0 - smoothstep(0.075 - 0.0001, 0.075, cloudVal)); + col += vec3(1.0, 1.0, 1.0)*(1.0 - smoothstep(0.0,0.01,abs(cloudVal - 0.075))); + } + + col += fog * fog * fog; + col = mix(vec3(col.r, col.r, col.r) * 0.5, col, battery * 0.7); + + fragColor = vec4(col,1.0); + } + //else fragColor = vec4(0.0); + + +} \ No newline at end of file diff --git a/tools/src/generative/Octagrams.frag b/tools/src/generative/Octagrams.frag new file mode 100644 index 0000000..eb13472 --- /dev/null +++ b/tools/src/generative/Octagrams.frag @@ -0,0 +1,102 @@ +precision highp float; + + +float gTime = 0.; +const float REPEAT = 5.0; + +// 回転行列 +mat2 rot(float a) { + float c = cos(a), s = sin(a); + return mat2(c,s,-s,c); +} + +float sdBox( vec3 p, vec3 b ) +{ + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0); +} + +float box(vec3 pos, float scale) { + pos *= scale; + float base = sdBox(pos, vec3(.4,.4,.1)) /1.5; + pos.xy *= 5.; + pos.y -= 3.5; + pos.xy *= rot(.75); + float result = -base; + return result; +} + +float box_set(vec3 pos, float iTime) { + vec3 pos_origin = pos; + pos = pos_origin; + pos .y += sin(gTime * 0.4) * 2.5; + pos.xy *= rot(.8); + float box1 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5); + pos = pos_origin; + pos .y -=sin(gTime * 0.4) * 2.5; + pos.xy *= rot(.8); + float box2 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5); + pos = pos_origin; + pos .x +=sin(gTime * 0.4) * 2.5; + pos.xy *= rot(.8); + float box3 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5); + pos = pos_origin; + pos .x -=sin(gTime * 0.4) * 2.5; + pos.xy *= rot(.8); + float box4 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5); + pos = pos_origin; + pos.xy *= rot(.8); + float box5 = box(pos,.5) * 6.; + pos = pos_origin; + float box6 = box(pos,.5) * 6.; + float result = max(max(max(max(max(box1,box2),box3),box4),box5),box6); + return result; +} + +float map(vec3 pos, float iTime) { + vec3 pos_origin = pos; + float box_set1 = box_set(pos, iTime); + + return box_set1; +} + + +void mainImage( out vec4 fragColor, in vec2 fragCoord ) { + vec2 p = (fragCoord.xy * 2. - iResolution.xy) / min(iResolution.x, iResolution.y); + vec3 ro = vec3(0., -0.2 ,iTime * 4.); + vec3 ray = normalize(vec3(p, 1.5)); + ray.xy = ray.xy * rot(sin(iTime * .03) * 5.); + ray.yz = ray.yz * rot(sin(iTime * .05) * .2); + float t = 0.1; + vec3 col = vec3(0.); + float ac = 0.0; + + + for (int i = 0; i < 99; i++){ + vec3 pos = ro + ray * t; + pos = mod(pos-2., 4.) -2.; + gTime = iTime -float(i) * 0.01; + + float d = map(pos, iTime); + + d = max(abs(d), 0.01); + ac += exp(-d*23.); + + t += d* 0.55; + } + + col = vec3(ac * 0.02); + + col +=vec3(0.,0.2 * abs(sin(iTime)),0.5 + sin(iTime) * 0.2); + + + fragColor = vec4(col ,1.0 - t * (0.02 + 0.02 * sin (iTime))); +} + +/** SHADERDATA +{ + "title": "Octgrams", + "description": "Lorem ipsum dolor", + "model": "person" +} +*/ \ No newline at end of file diff --git a/tools/src/manipulative/added b/tools/src/manipulative/added new file mode 100644 index 0000000..144901d --- /dev/null +++ b/tools/src/manipulative/added @@ -0,0 +1,41 @@ +Stone Man +Perlin Noise +EGA +Color Invert +Posterize +Video Wall +Fake Thermal +Mirror (Right) +Mirror (Top) +Mirror (Down) +Mirror (Left) +Mirror (Quad) +ASCII +Aberrating Aberrations +Oil Painting +Old Memory +Italic +Blur (Soft) +Blur (Scatter) +Blur (Chroma) +Blur (Radial) +Circular Pixels +Solarize +Color Reduction +Melting Snow +Video Bubble +Quadtree +Randomized Transitions (x2) +Rainbow Filter +Pixelation +Gameboy +Brannan Filter +Sepia +Water Ripples +Ripple Distortion +Night Vision +Median Filter +Nearest Neighbor +Desaturate +Rain Drops +Gaussian Blur