ReadonlynameHuman-readable identifier used in graph node labels and error messages.
Fade sky pixels below the horizon to black. Useful on worlds whose geometry doesn't wrap to the horizon.
Attenuate each star by the luminance of the sky already behind it, so
stars dissolve smoothly into a bright atmosphere instead of cutting off at
a hard contrast line. 0 disables it (the default — stars are added at
full strength everywhere). Larger values fade stars out faster as the sky
brightens; the attenuation is exp(-skyLuminance * skyExtinction). Handy
for planet/atmosphere scenes where the daytime lower sky is bright but the
zenith is dark. No effect at night (dark sky → attenuation ≈ 1).
How far stars wrap below the horizon, in [0, 1]. 0 (the default)
clamps stars to the upper hemisphere — correct for ground-based scenes
where the lower half is occupied by terrain. 1 lets stars cover the
full sphere, which is what you want out in space looking in any direction.
Drive it with altitude for a smooth ground → space transition.
World-space center of a body that occludes the stars (the painted planet body in curved-horizon space views). Rays that strike its sphere skip the starfield, so stars don't bleed over the planet.
Radius (m) of occluderCenter's body. 0 (default) disables occlusion.
When true AND a catalog texture has been set via setCatalog, draw real Yale-BSC5 stars from the baked equirect instead of the procedural field.
Linear brightness multiplier applied to catalog stars at render time (on top
of the per-star flux baked into the equirect). Default 4 — the raw BSC5
flux is dim, so the real-star sky needs a lift to read; lower it to dim,
raise it to pop. Only affects the catalog path — the procedural field keeps
its own fixed gain.
Add a procedural Milky Way band, fixed in galactic coordinates. Default
false. Shares the night/horizon fade with the rest of the starfield, so
it only shows at night and respects the horizon.
Linear brightness of the Milky Way band. Default 0.6.
Gaussian half-width of the Milky Way band in radians (latitude falloff).
Default 0.18.
Add a procedural aurora borealis: rippling vertical curtains in an arc
above the horizon, animated by auroraTime. Default false. Shares
the night/horizon/sky fade with the rest of the starfield, so it only
glows at night and respects the horizon.
Linear brightness of the aurora. Default 1.
Animation clock for the aurora, in seconds (drive from frame.time).
Altitude of the aurora arc base, in radians above the horizon, where the
curtains are brightest; rays rise above it. Default 0.35 (~20°).
Vertical softness of the aurora arc base, in radians. Default 0.12.
Colour at the aurora arc base (linear RGB). Default oxygen green.
Colour at the aurora curtain tops (linear RGB). Default red/magenta.
Provide the baked star-catalog equirect (from bakeStarCatalogTexture).
Pass null to clear it. Catalog stars render only when this is set AND
catalogMode is true.
StaticcreateInverse view-projection of the rendering camera.
World-space camera position.
Unit vector pointing TOWARD the sun (-light.direction).
When the sun is high above the horizon, stars are completely hidden.
Set the catalog-star celestial orientation from observer latitude and local sidereal time, so real star positions land at the correct altitude/azimuth (the north celestial pole sits at altitude = latitude) and rotate with time. Builds the world→equatorial rotation M = Rᵧ(lst)·Rₓ(φ−90°) (column-major), matching the shader's equatorial frame (Y = pole, RA in the X–Z plane).
Observer latitude in radians (+N).
Local sidereal time as an angle in radians (animatable; advances ~2π per sidereal day).
Reset the catalog orientation to identity (equatorial frame == world).
Insert the pass into graph for one frame. Implementations call
graph.addPass(name, type, b => { ... }) exactly once and use the
supplied PassBuilder to declare reads, writes, transient
resources, and the execute callback.
Graph being built this frame.
Pass-specific dependency record (handles, scene data, etc.).
Pass-specific output record (typically a set of handles downstream passes will consume).
Release every long-lived GPU resource owned by the pass (pipelines, persistent uniform buffers, samplers, BGLs). Called by the factory or application during teardown. Default implementation is a no-op.
Standalone procedural starfield pass. Adds stars only on sky pixels and fades them with the sun's altitude (night-only). Add this before any final tonemap so stars are reshaped along with the rest of the scene.
Stars are added in linear HDR space (no exposure scaling applied here) — downstream tonemap/exposure handles the brightness response. This differs slightly from CompositePass which scales the scene by auto-exposure before adding stars, keeping their absolute brightness constant.