astrokit ephemeris

This commit is contained in:
connor committed 2026-10-14 17:23:25 -04:00
1 parent 1c588eac7d
commit 4f9e73a418
7 files changed
+605 -4

No files matched your search

+14 -4
View File
@@ -8,10 +8,11 @@ optics and detector, so an image should match what a real camera with the same
parameters records.
It is built for closed-loop simulation, where each step renders one frame and
latency is the number that matters. The target is 1–2 MP RGB in under 100 ms
end to end on a mid-range GPU (the reference is an RTX 3060). Lighting fidelity
and camera fidelity are selected separately, and each tier is benchmarked, so
a run can trade fidelity for speed knowing what each step costs.
latency is the number that matters. The goal is high-fidelity 1–2 MP RGB in
about 10 ms end to end on a mid-range GPU (the reference is an RTX 3060);
100 ms is the ceiling, not the aim. Lighting fidelity and camera fidelity are
selected separately, and each tier is benchmarked, so a run can trade
fidelity for speed knowing what each step costs.
Rendering goes through wgpu. On a machine without a GPU, the same shaders run
on the CPU through Mesa's lavapipe (`vulkan-swrast` on Arch,
@@ -60,6 +61,15 @@ assert!(frame.dn_at(960, 540, 1) > 1000);
# }
```
## Features
- `astrokit`: build a `Scene` from an epoch with
[astrokit](https://git.rcjohnstone.com/connor/astrokit)'s ephemerides (JPL
DE440s for the Sun and Moon, ITRF93 for Earth's orientation), through
`ephemeris::Ephemeris`. astrokit is not on crates.io, so this expects a
checkout at `../astrokit` next to this repository, and its kernels from its
`scripts/fetch-kernels.sh` (or `ASTROKIT_KERNELS` pointing at them).
## Status
M1 in progress: the library renders Earth, Moon, Sun and targets to DN