WebGL2 · runs in your browser · no install

A signed distance field editor
that ships to Godot.

Author raymarched SDF scenes in a live GLSL editor with honest GPU metrics. Export as a working Godot 4 project, an STL mesh, a PNG, a WebM, or a standalone HTML page. Plus a suite of experiments — audio-reactive, genetic, neural, and more.

Requires a WebGL2-capable browser. Runs entirely client-side.

What the editor actually does

Live GLSL hot-swap with error remapping, orbit camera, soft shadows, ambient occlusion, tonemapping, volumetric fog, N-bounce reflections, subsurface scattering, dynamic resolution, PNG capture, WebM recording, standalone HTML export, marching-cubes STL export, and a one-click Godot 4 project export.

Export

One-click Godot 4 project

Your map() body ports verbatim into a .gdshader. You get main.tscn with a SubViewportContainer + SubViewport, an orbit camera, and an in-scene panel for blend radius, animate-time toggle, resolution scale, and max steps. Unzip, import in Godot, hit F5.

Honest metrics

Real GPU timer queries

Frame time is measured with EXT_disjoint_timer_query_webgl2 when the extension is available, and falls back to a requestAnimationFrame delta when it isn't. Per-pixel step counts are read back from the render target only when the cursor is hovering the canvas, because readPixels stalls the pipeline. gl.finish() is deliberately not used — it reported garbage.

Holds framerate

Rolling-median dynamic resolution

A 15-frame rolling median of frame time drives render-scale adjustments with a hysteresis dead zone and a cooldown between changes. Scene FBOs are bucketed to 64-pixel increments so the small per-step scale changes don't reallocate GPU memory every frame.

The modules

The editor is the core. Everything else is a self-contained experiment that reuses the raymarching engine for something specific. Some are polished, some are speculative — each card says which.

Breed

Experimental

Genetic mutation of shader parameters — pick the fittest.

Pulse

Experimental

Mic-reactive raymarched geometry (FFT bins into uniforms).

Stereo

Experimental

Autostereogram renderer — cross your eyes, see 3D.

Echo

Experimental

Bake an impulse response by raymarching sound.

Fit

Experimental

Gradient-descent an SDF toward a target silhouette.

Neural

Experimental

Train a tiny MLP to imitate an SDF, bake it to GLSL.

Mesh export

Stable

Marching cubes to STL — take your SDF into Blender or a printer.

Character

In progress

Work-in-progress lifelike figure: aiming at SSS skin and refractive eyes. Not rendering correctly yet.

Not ready to try yet

Who this is for

Shader authors

Sketch, measure, and share signed-distance-field scenes with real numbers, not vibes.

Technical artists

Prototype look-dev in the browser, export a Godot project you can drop into a real pipeline.

Godot developers

Skip the boilerplate — get a working .gdshader, viewport, orbit camera, and runtime UI in one zip.

People learning raymarching

Every knob is exposed, every metric is honest, the source of every scene is right there.

Author it here. Ship it in Godot.

No account required to try it. Open the editor, tweak a scene, hit Export Godot.