Files
resolved/scripts/make-gallery.sh
T

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