Updates post-M2
This commit is contained in:
1 parent
0ef9952ae4
commit
7a3088e847
8 files changed
+363
-49
No files matched your search
@@ -30,23 +30,25 @@ step up is visible at a glance.
|
||||
|
||||
| Tier | Lighting | Camera | RTX 3060 | lavapipe (CPU) | Sample |
|
||||
|---|---|---|---|---|---|
|
||||
| L0 / C0 | Lambertian surfaces, Earth's and the Moon's limbs exact, eclipse by Earth and the Moon, no shadows on the target, no light from Earth | Pinhole, absolute radiometry to 12-bit DN, no noise or blur | 0.9–1.3 ms | 6–69 ms | [](docs/images/l0-c0.png) |
|
||||
| L0 / C0 | Lambertian surfaces, Earth's and the Moon's limbs exact, eclipse by Earth and the Moon, no shadows on the target, no light from Earth | Pinhole, absolute radiometry to 12-bit DN, no noise or blur | 0.9–1.3 ms | 5–68 ms | [](docs/images/l0-c0.png) |
|
||||
| L1 / C0 | Adds Earth's surface from Blue Marble and the Moon's from the LRO Camera's map, the Moon's measured phase curve, shadows on the target, Earthshine and Moonshine, eclipses seen on Earth and the Moon, the Sun's limb darkening | Pinhole, absolute radiometry to 12-bit DN, no noise or blur | 1.3–2.3 ms | 12–114 ms | [](docs/images/l1-c0.png) |
|
||||
|
||||
Times are one 1920 x 1080 RGB frame end to end (`submit` to `wait_view`, with
|
||||
the DN image ready to read), median of criterion runs, over models from 12 to
|
||||
752,000 triangles: the box-wing, Landsat 8 and ICESat-2. The GPU's own work is
|
||||
0.3 to 0.6 ms of that. `wait`, which copies the 12 MB image into a new `Vec`,
|
||||
takes 1.6 to 2.0 ms on the RTX 3060 and 7.7 to 82 ms on lavapipe. lavapipe ran
|
||||
on the Intel Core Ultra 9 285K's 24 cores. Run to run, the RTX 3060's times
|
||||
vary by about 5 %, and lavapipe's by up to 15 % between sessions. The sample is the Landsat 8 example scene
|
||||
(`examples/scenes/landsat8.toml`). `cargo bench -p resolved` reproduces the
|
||||
numbers, and `resolved render --timings N` shows the per-pass split.
|
||||
0.7 to 0.9 ms of that at L0 and 1.1 to 1.5 ms at L1, of which 0.48 ms is the
|
||||
sensor pass writing the image into memory the CPU reads. `wait`, which copies
|
||||
the 12 MB image into a new `Vec`, takes 1.8 to 2.0 ms on the RTX 3060 at L0
|
||||
and 2.3 to 3.1 ms at L1, and on lavapipe 7 to 77 ms and 14 to 144 ms. L1's
|
||||
setup also loads the Earth and Moon maps, about 1 s, once. lavapipe ran on the
|
||||
Intel Core Ultra 9 285K's 24 cores. Run to run, the RTX 3060's times vary by
|
||||
about 5 %, and lavapipe's by up to 15 % between sessions. The samples are the
|
||||
Landsat 8 example scene (`examples/scenes/landsat8.toml`). `cargo bench -p
|
||||
resolved` reproduces the numbers (L1 when the maps are in `data/`), and
|
||||
`resolved render --timings N` shows the per-pass split.
|
||||
|
||||
L1 adds Earth's surface, shadows on the target, Earthshine and Moonshine,
|
||||
the Moon's albedo map and phase curve, the Sun's limb darkening and eclipses
|
||||
seen on Earth and the Moon; its row comes with its measurements. Planned: C1
|
||||
and C2 add pixel-area sampling, lens distortion, blur and detector noise; L2
|
||||
adds measured materials and the atmosphere; L3 is path traced.
|
||||
Planned: C1 and C2 add pixel-area sampling, lens distortion, blur and detector
|
||||
noise; L2 adds measured materials and the atmosphere; L3 is path traced.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -123,6 +125,11 @@ cargo run --release -p resolved-cli -- render \
|
||||
--out frame.png --preview preview.png --timings 50
|
||||
```
|
||||
|
||||
`scripts/make-gallery.sh` renders every example scene at L0 and L1 into
|
||||
`gallery/`, skipping any whose model or data is missing, and
|
||||
`scripts/serve-gallery.py` serves the result as a web page on port 8000 of
|
||||
every interface, each scene captioned from its file.
|
||||
|
||||
- `--out` writes raw DN as a 16-bit PNG, shifted up to fill 16 bits as
|
||||
cameras usually store them: a 12-bit DN is the stored value divided by 16.
|
||||
It is linear, so it looks dark next to the preview.
|
||||
|
||||
Reference in new issue
Block a user