translate the following shader to our format: vec3 palette(float d){ return mix(vec3(0.2,0.7,0.9),vec3(1.,0.,1.),d); } vec2 rotate(vec2 p,float a){ float c = cos(a); float s = sin(a); return p*mat2(c,s,-s,c); } float map(vec3 p){ for( int i = 0; i<8; ++i){ float t = iTime*0.2; p.xz =rotate(p.xz,t); p.xy =rotate(p.xy,t*1.89); p.xz = abs(p.xz); p.xz-=.5; } return dot(sign(p),p)/5.; } vec4 rm (vec3 ro, vec3 rd){ float t = 0.; vec3 col = vec3(0.); float d; for(float i =0.; i<64.; i++){ vec3 p = ro + rd*t; d = map(p)*.5; if(d<0.02){ break; } if(d>100.){ break; } //col+=vec3(0.6,0.8,0.8)/(400.*(d)); col+=palette(length(p)*.1)/(400.*(d)); t+=d; } return vec4(col,1./(d*100.)); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = (fragCoord-(iResolution.xy/2.))/iResolution.x; vec3 ro = vec3(0.,0.,-50.); ro.xz = rotate(ro.xz,iTime); vec3 cf = normalize(-ro); vec3 cs = normalize(cross(cf,vec3(0.,1.,0.))); vec3 cu = normalize(cross(cf,cs)); vec3 uuv = ro+cf*3. + uv.x*cs + uv.y*cu; vec3 rd = normalize(uuv-ro); vec4 col = rm(ro,rd); fragColor = col; } /** SHADERDATA { "title": "fractal pyramid", "description": "", "model": "car" } */ Detail refinement

edit

edit

/***** This shader captures the essence of slow-motion horse galloping, combined with a serene transition between states. It highlights the gentle beauty of muscle movements, grass-like sways, and subtle energy flows, blending them with seamless transitions that evoke tranquility. *****/ precision mediump float; varying vec2 uv; uniform float time, width, height; // Soft sway effect to mimic a gentle breeze over the grass float gentleGrassSway(vec2 pos, float freq, float amp, float offset) { return sin(pos.y * freq + time * 0.4 + offset) * amp * cos(time * 0.1); } // Adaptation to slow, subtle muscular and grass motion float smoothMuscleAndGrass(vec2 st, vec2 origin, float freq, float intensity, float fade) { float dist = distance(st, origin); float pulse = sin(dist * freq - 0.1 * time + 3.0 * cos(time * 0.4)) * exp(-dist * fade) * 0.75; float swayEffect = gentleGrassSway(st, 6.0, 0.12, dist * 4.0); return intensity * (pulse + swayEffect); } // Impact trails that transition slowly, mirroring gentle hoof impacts float subtleHoofTrail(vec2 st, vec2 impactPoint, float trailIntensity, float trailDissipate) { float distToImpact = distance(st, impactPoint); float trailPattern = smoothstep(0.4, 0.1, distToImpact) * sin(distToImpact * 12.0 - time * 1.5) * 0.5; float swayEffect = gentleGrassSway(st, 8.0, 0.05, distToImpact * 3.0); return (trailPattern + swayEffect) * exp(-distToImpact * trailDissipate) * trailIntensity; } // Combining muscle and grass influences with smooth transitions vec3 smoothTransitionDynamics(vec2 st) { float muscleEnergy1 = smoothMuscleAndGrass(st, vec2(0.3, 0.5), 6.0, 0.25, 2.5); float muscleEnergy2 = smoothMuscleAndGrass(st, vec2(0.7, 0.3), 7.0, 0.25, 2.6); float hoofTrail1 = subtleHoofTrail(st, vec2(0.4, 0.6), 0.6, 1.3); float hoofTrail2 = subtleHoofTrail(st, vec2(0.6, 0.4), 0.6, 1.3); vec3 muscleEnergyCombined = vec3(muscleEnergy1, muscleEnergy2, (muscleEnergy1 + muscleEnergy2) * 0.5); vec3 hoofVibrationCombined = vec3(hoofTrail1, hoofTrail2, 0.4 * (hoofTrail1 + hoofTrail2)); float transitionBlend = smoothstep(0.2, 0.7, sin(time * 0.2)); return mix(muscleEnergyCombined, hoofVibrationCombined, transitionBlend); } // Implementing a slightly slow motion blur to emphasize subtle flow vec3 softMotionBlurEffect(vec2 st, float strength) { vec3 accumulatedColor = vec3(0.0); float blurAmount = 0.08 * strength; for (float i = 0.0; i <= 5.0; i++) { float t = i / 5.0; accumulatedColor += smoothTransitionDynamics(st + vec2(blurAmount * t, 0.0)); } return accumulatedColor / 6.0; } void main() { // Normalize the UV coordinates for square aspect ratio vec2 fragCoord = vec2((uv.x - 0.5) * max(width / height, 1.0) + 0.5, (uv.y - 0.5) * max(height / width, 1.0) + 0.5); // Apply a gentle motion blur to smoothen transitions in the energy pattern vec3 blurredFlow = softMotionBlurEffect(fragCoord, 0.6); // Calculate the output color which emphasizes gentle transitions and tranquility vec3 color = pow(blurredFlow, vec3(1.08)) * 1.12; // Output the shader with a focus on subtle transitions and gentle energy gl_FragColor = vec4(clamp(color, 0.0, 1.0), 1.0); Wind Whisper

edit

hands Symbolic motifs

edit

horse galloping Add shadows

edit

Joyful Harmony

edit

horse galloping Dynamic lighting

edit

break Refraction distortions

edit

horse galloping Increase motion blur

edit

click to explore, then edit