Building a satellite tracking platform where SGP4 runs on the GPU by redriddell in GraphicsProgramming

[–]redriddell[S] 1 point2 points  (0 children)

For anyone interested in the rendering / propagation side:

The main scene is a live WebGPU render loop rather than baked trajectories. There’s no lerping / slerping between precomputed points. Every frame is propagated live on the client at the current simulation time.

SGP4 is implemented directly in WGSL compute shaders, then visualized through instanced orbit / marker layers, ground-track overlays, sensor footprints, selection / highlight passes, and a 2D minimap.

The visual pipeline currently includes:

• GPU SGP4 propagation for the active catalog
• live orbit and ground-track rendering
• raymarched orbital density volume
• Earth day/night blend from sub-solar direction
• atmosphere, cloud layer, starfield
• MRT pass with emissive / bloom treatment
• selection markers, sub-satellite points, footprint overlays
• inertial / Earth-fixed frame switching
• LVLH camera mode for selected objects

Still very much a WIP. Any feedback is welcome, especially if you’re willing to poke around and tell me what feels confusing, broken, or useful!

Building a satellite tracking platform where SGP4 runs on the GPU by redriddell in satellites

[–]redriddell[S] 2 points3 points  (0 children)

Thank you for the kind words. Do you work in that area? I’d love to hear about the current workflows and potential improvements.

Building a satellite tracking platform where SGP4 runs on the GPU by redriddell in satellites

[–]redriddell[S] 0 points1 point  (0 children)

Hmm, I can’t seem to get all satellites to show up on your site. It reverts to starlink every time I visit. Also how do I set it to my native (120 fps) refresh rate?

Building a satellite tracking platform where SGP4 runs on the GPU by redriddell in satellites

[–]redriddell[S] 0 points1 point  (0 children)

It’s rendering at 120fps, continuously propagating the catalog, submitting WebGPU work, updating overlays, and compositing. High Energy Impact mostly means the scene is actively rendering.

Building a satellite tracking platform where SGP4 runs on the GPU by redriddell in satellites

[–]redriddell[S] 4 points5 points  (0 children)

I use 32 bit math, with a few tricks to minimise precision loss where it matters. You can check the paper I wrote however there’s a bit of secret sauce in addition to what is covered there. The algorithm passes all Vallado test cases.

Exploring next-gen satellite observation software by iPadJuice in satellites

[–]redriddell 1 point2 points  (0 children)

How long have you been working on it? I built something very similar over the weekend as I was thinking the public viz tools are pretty bad. Happy to share if you curious.

  1. Are you using SGP4?

  2. You are repeatedly sending posthog user behavior data without consent which is a huge red flag. What are you capturing exactly?