runnable fragment

Lava Lamp Cells

stronghold-curated plasma glsl runnable fragment MIT
code snippet
precision mediump float;
uniform vec2 resolution;
uniform float time;
void main(){
  vec2 uv=(gl_FragCoord.xy*2.0-resolution.xy)/min(resolution.x,resolution.y);
  float field=0.0;
  for(int i=0;i<7;i++){
    float fi=float(i);
    vec2 c=vec2(sin(time*(0.25+fi*0.04)+fi*1.8), cos(time*(0.31+fi*0.03)+fi*2.4))*0.62;
    field += (0.05+0.015*sin(time+fi))/max(0.015, dot(uv-c,uv-c));
  }
  float lava=smoothstep(0.8,2.2,field);
  vec3 col=mix(vec3(0.04,0.0,0.02), vec3(1.0,0.18,0.02), lava);
  col += vec3(1.0,0.75,0.12)*smoothstep(2.6,5.0,field);
runnable fragment

SDF Soft Blobs

stronghold-curated sdf glsl runnable fragment MIT
code snippet
precision mediump float;
uniform vec2 resolution;
uniform float time;
float circle(vec2 p, vec2 c, float r){ return length(p-c)-r; }
void main(){
 vec2 uv=(gl_FragCoord.xy*2.0-resolution.xy)/min(resolution.x,resolution.y);
 float d=10.0;
 for(int i=0;i<6;i++){
   float fi=float(i);
   vec2 c=0.48*vec2(sin(time*(0.4+fi*0.07)+fi*1.7), cos(time*(0.35+fi*0.05)+fi*2.1));
   d=min(d, circle(uv,c,0.22+0.04*sin(time+fi)));
 }
 float fill=smoothstep(0.035,-0.025,d);
 float glow=0.018/max(0.018,abs(d));