- randomness
- -
- radius
- -
- branch angle
- -
- time
- -
- position
- -
- object
- -
Per-instance range nodes provide stable random values; trigonometry turns each branch into a time-animated radial position.
A single SpriteNodeMaterial instance graph distributes thousands of camera-facing stars through TSL range(), trigonometry, time, and color nodes. The direct WebGL2 route keeps the same procedural contract visible in a labeled point-shader reference.
Creating the procedural spiral and instanced sprite material.
Per-instance range nodes provide stable random values; trigonometry turns each branch into a time-animated radial position.
One instanced plane becomes a camera-facing star through SpriteNodeMaterial scale, color, alpha, and additive blending.
WebGPU executes the TSL instance graph; WebGL2 computes equivalent attributes in a direct shader reference.
Per-instance values become the galaxy's radial coordinates.
Flooring a range value chooses an arm angle.
Inner stars orbit faster through a radius-weighted offset.
Radius maps hot inner stars to a cool outer palette.
The direct route exposes the same ownership without TSL execution.
Tune the distribution, then measure thirty frames of the active particle path.
This is a deterministic adaptation of the official TSL galaxy example: generated parameters and a compact control surface replace the Inspector while the instance-driven range, orbit, time, color, alpha, and additive-sprite contracts remain executable.
Sources: official galaxy example · TSL · SpriteNodeMaterial · InstancedMesh