A solar system that exists only while you look.
Nine worlds, one continuous camera move, no textures anywhere. Each body is a height field — seven octaves of value noise, warped by a slower copy of itself — evaluated per pixel, every frame, on your machine. Colour comes from elevation. So does the normal, because the field gets differentiated on the spot. Nothing here was authored; it is re-derived the instant you look away and come back.
How to make a planet
out of nothing
The pipeline, end to end
There are eight stages between a hash function and a terminator line. Every one of them runs in the fragment shader, once per pixel per frame. Toggle any layer below and watch the world above change — the switches drive the live uniforms, they do not play a pre-baked alternative.
- 01Hash lattice
h31()maps an integer lattice point to one float. Deterministic, so the atlas is identical on every visit. - 02Value noise
Trilinear blend of eight lattice corners with a smoothstep on the fraction — continuity without a gradient table.
- 03Fractional Brownian motion
Seven octaves, lacunarity 2.03, gain 0.5. The odd lacunarity is deliberate: 2.0 lines the grid back up and you can see it.
- 04Domain warp
One copy of the field offsets the coordinate fed into the next. This is the single step that stops the surface reading as fog.
- 05Height → colour
A four-stop ramp sampled by elevation, with a hard threshold that flattens everything below sea level into ocean.
- 06Height → normal
The field is sampled twice more along the tangent basis and differenced. Ridges catch light with zero extra geometry.
- 07Light
One star at the origin. Soft terminator, specular glint on water only, city lights on the dark side, fresnel at the limb.
- 08Composite
Bright pass, two blur mips, then grain, vignette and a chromatic split that widens with scroll velocity.
The switches write straight into the material uniforms.
Nothing is hidden behind the toggle — the term is literally zeroed.
Orbital mechanics,
on your terms
Drag the orbit · 2D canvas · Kepler's equation, iterated
The rest of the atlas is a view. This is an instrument. The ellipse you are looking at is
not a squashed circle on a timer — mean anomaly advances at a constant rate, and
M = E − e·sin E is solved for the eccentric anomaly by Newton's method each
frame. That is why the body accelerates at periapsis and crawls at apoapsis. Switch on
the sweep to see the reason: the shaded wedge covers equal areas in equal times.
Drag horizontally to rotate the line of apsides
Units are chosen so that GM = 4π²: a in AU, P in years. Under
that convention the period is simply a^1.5, which is the whole of Kepler's
third law.
Field notes
Three things about the budgetA texture is a picture of a surface. This is the surface.
Relief is the expensive one
Deriving the normal from the height field means evaluating the field three times per fragment instead of once. The relief on Mrigashira's bands is nearly free; the ridged crust on Bharani triples the cost of that pixel. So the octave count is not a constant — it scales with camera distance, which is why the atlas stays smooth while you are flying between worlds and gets expensive only when you are parked next to one.
You cannot author a landmark
A procedural surface has no intent in it. There is no 400-metre basin that a surveyor named, no scar with a story, nothing that survives from one frame to the next as a place you could point at. Everything you see is a compromise the noise made today. That is the honest trade for the size: 300 KB and no art department buys you a sky, and costs you a map.
Hybridise it
The scheme worth chasing is a seeded height field with a hand-placed mask on top — noise for the 99% of the surface nobody examines, and authored detail where a body is parked for reading. Add a real WMO-style cloud transport and a shadow pass for the ring on the globe, and the gap between this and an authored asset closes to something you could ship.
The catalogue
Hover a row — the body lights up · click to fly there| Plate | Designation | Name | Class | Radius | Period | Mean temp | Albedo ramp |
|---|
Questions I would
have asked
Seven answers, no marketing
Nine worlds.
One scroll.
No downloads.
The camera is now pulling out of the system, back toward the approach vector it started on. Nothing was cached to make the return cheaper. Press 1 through 9 to jump to any plate, or the number keys are wired to the same curve the scroll wheel drives.