File indexing completed on 2026-04-09 07:49:19
0001
0002 usage(){ cat << EOU
0003 SOPTIX_Scene_test.sh
0004 =====================
0005
0006 ::
0007
0008 ~/o/sysrap/tests/SOPTIX_Scene_test.sh
0009 ~/o/sysrap/tests/SOPTIX_Scene_test.cc
0010
0011 Preqs::
0012
0013 ~/o/sysrap/tests/SScene_test.sh
0014
0015
0016 ~/o/sysrap/tests/SScene_test.sh
0017
0018
0019 EOU
0020 }
0021
0022 cd $(dirname $(realpath $BASH_SOURCE))
0023
0024
0025 name=SOPTIX_Scene_Encapsulated_test
0026
0027 export FOLD=/tmp/$name
0028 bin=$FOLD/$name
0029 mkdir -p $FOLD
0030
0031 export PPM_PATH=$FOLD/$name.ppm
0032
0033 cu=../SOPTIX.cu
0034 ptx=$FOLD/SOPTIX.ptx
0035 export SOPTIX_PTX=$ptx
0036
0037
0038 cuda_prefix=/usr/local/cuda
0039 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0040 for l in lib lib64 ; do [ -d "$CUDA_PREFIX/$l" ] && cuda_l=$l ; done
0041
0042 optix_prefix=${OPTICKS_OPTIX_PREFIX}
0043 OPTIX_PREFIX=${OPTIX_PREFIX:-$optix_prefix}
0044
0045 if [ -z "$OPTIX_PREFIX" ]; then
0046 echo $0 - MISSING OPTIX_PREFIX && exit 1
0047 fi
0048
0049
0050 sysrap_dir=..
0051 SYSRAP_DIR=${SYSRAP_DIR:-$sysrap_dir}
0052
0053 scene_fold=/tmp/SScene_test
0054 export SCENE_FOLD=${SCENE_FOLD:-$scene_fold}
0055
0056
0057
0058
0059 wh=2560,1440
0060
0061
0062
0063
0064
0065
0066 eye=-1,-1,0
0067 up=0,0,1
0068 look=0,0,0
0069
0070 cam=perspective
0071
0072
0073 tmin=0.1
0074
0075 escale=extent
0076
0077
0078 export WH=${WH:-$wh}
0079 export EYE=${EYE:-$eye}
0080 export LOOK=${LOOK:-$look}
0081 export UP=${UP:-$up}
0082 export TMIN=${TMIN:-$tmin}
0083 export ESCALE=${ESCALE:-$escale}
0084 export CAM=${CAM:-$cam}
0085
0086
0087 handle=-1
0088 export HANDLE=${HANDLE:-$handle}
0089
0090
0091
0092
0093 defarg="info_ptx_build_run_open"
0094 arg=${1:-$defarg}
0095
0096 PATH=$PATH:$CUDA_PREFIX/bin
0097
0098 vars="BASH_SOURCE CUDA_PREFIX OPTIX_PREFIX OPTICKS_PREFIX cuda_l SCENE_FOLD FOLD SOPTIX_PTX"
0099
0100 if [ "${arg/info}" != "$arg" ]; then
0101 for var in $vars ; do printf "%20s : %s\n" "$var" "${!var}" ; done
0102 fi
0103
0104 if [ "${arg/ptx}" != "$arg" ]; then
0105 nvcc $cu \
0106 -ptx -std=c++17 \
0107 -c \
0108 -lineinfo \
0109 -use_fast_math \
0110 -I.. \
0111 -I$CUDA_PREFIX/include \
0112 -I$OPTIX_PREFIX/include \
0113 -o $ptx
0114 [ $? -ne 0 ] && echo $BASH_SOURCE : ptx build error && exit 1
0115 fi
0116
0117 if [ "${arg/build}" != "$arg" ]; then
0118 gcc $name.cc \
0119 -std=c++17 -lstdc++ -lm -ldl -g \
0120 -I${SYSRAP_DIR} \
0121 -I$CUDA_PREFIX/include \
0122 -I$OPTIX_PREFIX/include \
0123 -I$OPTICKS_PREFIX/externals/glm/glm \
0124 -DWITH_CHILD \
0125 -L$CUDA_PREFIX/$cuda_l -lcudart \
0126 -o $bin
0127 [ $? -ne 0 ] && echo $BASH_SOURCE : build error && exit 1
0128 fi
0129
0130 if [ "${arg/dbg}" != "$arg" ]; then
0131 dbg__ $bin
0132 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 2
0133 fi
0134
0135 if [ "${arg/run}" != "$arg" ]; then
0136 $bin
0137 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 3
0138 fi
0139
0140 if [ "${arg/open}" != "$arg" ]; then
0141 [ -z "$DISPLAY" ] && echo $BASH_SOURCE adhoc setting DISPLAY && export DISPLAY=:0
0142 open $PPM_PATH
0143 [ $? -ne 0 ] && echo $BASH_SOURCE : open error && exit 4
0144 fi
0145
0146
0147 exit 0
0148