Fortraneries/BloubWorld/runme.sh

79 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
#
# how to run this mess in a batch style
#
INCFILE="bloubs.inc"
TMPPNG="/dev/shm/bloubs7.png"
POVOPT="+Q9 +a -v -d -W920 -H600 -WT2"
DDIR="frames"
LOGERR="log.error"
BLBS_IN="/dev/shm/in.blbs"
BLBS_OUT="/dev/shm/out.blbs"
NBIMG=4000
make all
err=$?
if [ $err -ne 0 ] ; then
echo 'make error code is = ' $err
exit 1
fi
printf "\n#declare NbImg = %d;\n" $NBIMG > nbimg.inc
#
# first, we have to make a seminal buch of bloubs
# --> this function need to be paraletrizable
#
./genbloubs ${BLBS_IN} 5000
for idx in $(seq 0 $NBIMG)
do
echo "======== run passe $idx ========="
./exportbloubs ${BLBS_IN} | awk -f toinc.awk > $INCFILE
povray -Iscene.pov -K${idx} -O${TMPPNG} ${POVOPT} 2> $LOGERR
if [ 0 -ne $? ] ; then
tail -15 $LOGERR
sleep 30
else
grep "Trace Time" $LOGERR
fi
td=$(date +'%F %R:%S')
hi=$(printf "#%05d" $idx)
PNG=$(printf "%s/%05d.png" ${DDIR} $idx)
convert ${TMPPNG} \
-font Courier-Bold \
-pointsize 22 \
-fill CadetBlue \
-gravity south-east \
-annotate +15+10 "$td" \
-gravity south-west \
-annotate +15+10 "$hi" \
$PNG
echo $PNG '[done]'
./movebloubs ${BLBS_IN} ${BLBS_OUT}
mv ${BLBS_OUT} ${BLBS_IN}
echo
done
rm $LOGERR
# XXX convert -delay 10 -resize 50% -colors 192 \
# XXX $DDIR/????[0]*.png foo.gif
./encode.sh