#!/bin/sh # Renders every example scene at lighting L0 and L1 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 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