#!/bin/sh # Renders every example scene at lighting L0 and L1, with camera C1, into gallery/ # (gitignored), as -L0.png and -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