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.