90 lines
3 KiB
Bash
Executable file
90 lines
3 KiB
Bash
Executable file
#!/bin/sh
|
|
# ==============================================================================
|
|
# POV-Ray 3.7
|
|
# render_scene.sh - render a scene with options given in a scene file comment
|
|
# ==============================================================================
|
|
# written November 2003 by Christoph Hormann
|
|
# This file is part of POV-Ray and subject to the POV-Ray licence
|
|
# see POVLEGAL.DOC for details
|
|
# ------------------------------------------------------------------------------
|
|
# calling conventions:
|
|
#
|
|
# render_scene.sh [output_directory] [--all] scene_file
|
|
#
|
|
# output_directory: directory where to write the rendered image
|
|
# scene_file: scene to render
|
|
#
|
|
# the render options have to be given as a '//' comment within the first
|
|
# 50 lines of the file. There must be a space after the '//' and the first
|
|
# option has to start with '-' or '+'. If option '--all' is given scenes
|
|
# with no options given are rendered, otherwise not.
|
|
# ==============================================================================
|
|
|
|
# --- specify additional render options here ---
|
|
POV_OPTIONS=""
|
|
|
|
if [ ! -z "$1" ] ; then
|
|
|
|
if [ ! -z "$2" ] ; then
|
|
case $1 in
|
|
--all )
|
|
RENDER_ALL=--all
|
|
if [ ! -z "$3" ] ; then
|
|
OUTPUT_DIR="$2"
|
|
RENDER_NAME="$3"
|
|
else
|
|
OUTPUT_DIR=`dirname $2`
|
|
RENDER_NAME="$2"
|
|
fi
|
|
;;
|
|
*)
|
|
OUTPUT_DIR="$1"
|
|
case $2 in
|
|
--all )
|
|
RENDER_ALL=--all
|
|
RENDER_NAME="$3"
|
|
;;
|
|
*)
|
|
RENDER_NAME="$2"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
else
|
|
OUTPUT_DIR=`dirname $1`
|
|
RENDER_NAME="$1"
|
|
fi
|
|
|
|
head -n 50 "$RENDER_NAME" | grep -E '^//[ ]+[-+]{1}[^ -]' > /dev/null && POV_FILE="$RENDER_NAME"
|
|
|
|
SCENE_DIR=`dirname $RENDER_NAME`
|
|
FILE_BASE=`basename $RENDER_NAME .pov`
|
|
|
|
if [ ! -z "$POV_FILE" ] ; then
|
|
# -- use first option line --
|
|
OPTIONS=`head -n 50 "$POV_FILE" | grep -E '^//[ ]+[-+]{1}[^ -]' | head -n 1 | sed "s?^//[ ]*??"`
|
|
# -- use last option line --
|
|
#OPTIONS=`head -n 50 "$POV_FILE" | grep -E '^//[ ]+[-+]{1}[^ -]' | tail -n 1 | sed "s?^//[ ]*??"`
|
|
|
|
echo "==========================================================================="
|
|
echo "$POV_FILE: $OPTIONS"
|
|
echo "==========================================================================="
|
|
|
|
povray +L$SCENE_DIR +L$OUTPUT_DIR -i$POV_FILE -o$OUTPUT_DIR/ $OPTIONS $POV_OPTIONS -p
|
|
#echo "povray +L$SCENE_DIR +L$OUTPUT_DIR -i$POV_FILE -o$OUTPUT_DIR/ $OPTIONS $POV_OPTIONS -p"
|
|
|
|
else
|
|
if [ ! -z "$RENDER_ALL" ] ; then
|
|
|
|
echo "==========================================================================="
|
|
echo "$RENDER_NAME"
|
|
echo "==========================================================================="
|
|
|
|
echo "########################"
|
|
povray +L$SCENE_DIR +L$OUTPUT_DIR -i$POV_FILE -o$OUTPUT_DIR/ $POV_OPTIONS -p
|
|
#echo "povray +L$SCENE_DIR +L$OUTPUT_DIR -i$RENDER_NAME -o$OUTPUT_DIR/ $POV_OPTIONS -p"
|
|
|
|
fi
|
|
fi
|
|
|
|
fi
|