42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# Renders every example scene at lighting L0 and L1 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 and
|
|
# scripts/fetch-moon.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" \
|
|
--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
|