43 lines
1.5 KiB
Bash
Executable File
43 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
# Renders every example scene at lighting L0 and L1, with camera C1, into gallery/
|
|
# (gitignored), as <scene>-L0.png and <scene>-L1.png previews made with --pretty: white
|
|
# balanced, with a tone curve, from exposures that keep the raw signal short of
|
|
# saturation. A scene whose model, maps or kernels are missing is skipped with the
|
|
# reason. Then the showcase movie, gallery/movie.mp4 (resolved-movie, which needs
|
|
# ffmpeg). View the result with scripts/serve-gallery.py.
|
|
#
|
|
# Needs: scripts/fetch-models.sh for the NASA models, scripts/fetch-earth.sh,
|
|
# scripts/fetch-moon.py and scripts/fetch-stars.py for L1, and astrokit's kernels for
|
|
# scenes given by epoch.
|
|
|
|
set -e
|
|
cd "$(dirname "$0")/.."
|
|
|
|
cargo build --quiet --release -p resolved-cli -p resolved-showcase
|
|
mkdir -p gallery
|
|
|
|
made=0
|
|
skipped=0
|
|
for scene in examples/scenes/*.toml; do
|
|
name=$(basename "$scene" .toml)
|
|
for tier in L0 L1; do
|
|
out="gallery/$name-$tier.png"
|
|
if error=$(./target/release/resolved render --scene "$scene" --lighting "$tier" \
|
|
--camera C1 --preview "$out" --pretty 2>&1); then
|
|
echo "$out"
|
|
made=$((made + 1))
|
|
else
|
|
echo "skipped $name at $tier: ${error#error: }"
|
|
rm -f "$out"
|
|
skipped=$((skipped + 1))
|
|
fi
|
|
done
|
|
done
|
|
echo "$made images in gallery/, $skipped skipped"
|
|
|
|
if error=$(./target/release/resolved-movie --out gallery/movie.mp4 2>&1); then
|
|
echo "gallery/movie.mp4"
|
|
else
|
|
echo "skipped the movie: ${error#error: }"
|
|
fi
|