Skip to content

Interface: RingVariation

Deterministic visual variation for a planet's ring system.

A single annular mesh is painted using a macroscopic radial profile (8 opacity samples, lerp-interpolated) combined with 1D micro-banding noise. The profile is drawn from a rich archetype pool — the combination of archetype choice, per-sample jitter, palette swaps and noise parameters produces hundreds of visually distinct looks (thin shepherd bands, solid dense bands, icy halos, dusty outer rings, …) without bespoke shaders.

Properties

innerRatio

ts
innerRatio: number;

Inner edge radius as a multiple of the planet visual radius.


outerRatio

ts
outerRatio: number;

Outer edge radius as a multiple of the planet visual radius.


colorInner

ts
colorInner: string;

Inner-edge tint (radial gradient start).


colorOuter

ts
colorOuter: string;

Outer-edge tint (radial gradient end).


profile

ts
profile: readonly [number, number, number, number, number, number, number, number];

8 opacity samples along the radial axis (t=0 at inner edge, t=1 at outer edge).


bandFreq

ts
bandFreq: number;

Micro-banding frequency (number of fine rings visible across the strip).


bandContrast

ts
bandContrast: number;

Micro-banding contrast [0..1]. Higher = sharper bright/dark alternation.


dustiness

ts
dustiness: number;

Dustiness [0..1] — blend toward a diffuse uniform field (halo/nebulous look).


grainAmount

ts
grainAmount: number;

Grain amount [0..1] — amplitude of the 2D high-frequency speckle/grain layer.


grainFreq

ts
grainFreq: number;

Grain frequency — radial scale of the speckle pattern (higher = finer grain).


opacity

ts
opacity: number;

Global alpha multiplier [0..1].


lobeStrength

ts
lobeStrength: number;

Strength of the low-frequency azimuthal lobes [0..1]. Higher = more angular asymmetry.


keplerShear

ts
keplerShear: number;

Keplerian differential rotation [0..1]. At 0 the ring rotates as a rigid block (texture locked to the mesh); at 1 each radial band drifts at its own Kepler rate (ω ∝ r^-3/2), so outer bands visibly lag behind inner ones over time — producing Saturn-like shear spirals.


noiseSeed

ts
noiseSeed: number;

Seed used by the 1D hash-noise in the shader — keeps patterns deterministic.


archetype

ts
archetype: RingArchetype;

Archetype label — purely informational, useful for tests / debug.

Distribué sous la licence indiquée dans le dépôt.