Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:19

0001 #!/bin/bash
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         ## create and persist SScene.h from loaded stree.h
0015   
0016     ~/o/sysrap/tests/SScene_test.sh 
0017         ## create and persist stree.h (eg from loaded gdml via GEOM config)
0018 
0019 EOU
0020 }
0021 
0022 cd $(dirname $(realpath $BASH_SOURCE))
0023 
0024 #name=SOPTIX_Scene_test
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 #wh=1024,768
0059 wh=2560,1440
0060 
0061 #eye=0.1,0,-10
0062 #eye=-1,-1,0
0063 #eye=-10,-10,0
0064 #eye=-10,0,0
0065 #eye=0,-10,0
0066 eye=-1,-1,0
0067 up=0,0,1
0068 look=0,0,0
0069 
0070 cam=perspective
0071 #cam=orthographic
0072 
0073 tmin=0.1    
0074 #escale=asis
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 # -1:IAS 0...8 GAS indices 
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