Medium MeshAnimated
Marching cubes blobs
Shade a metaball mesh built by the marching-cubes algorithm: iridescent soap-bubble colors.
How this challenge works
You write a fragment shader that draws the picture above, live in your browser. A match bar shows how close you are, and the score combines accuracy, code size (the par is 251 characters in Unity (Built-in)) and GPU speed. Work in HLSL, GLSL, WGSL, Metal or Godot and export the result when you are done.
The numbers you need
- About the mesh
Three.js MarchingCubes builds triangles from 4 moving balls (Sebastian Lague has a great video on how the algorithm works). You only write the shading.- t
dot(i_normal, i_viewDir)- Color
0.5 + 0.5 * cos(6.28318 * (t + float3(0.0, 0.33, 0.67)))- Light
normalize(float3(0.6, 0.8, 0.5)) · i_normal, brightness 0.4 + 0.6 * diffuse
Solve it in your language
Unity (Built-in), Unity (URP), Unreal, Shadertoy / WebGL, OpenGL (LWJGL, raylib), three.js, GameMaker, LÖVE (Lua), Godot, Apple (iOS, macOS), WebGPU / Bevy.
Start coding