File indexing completed on 2026-04-09 07:49:17
0001
0002 usage(){ cat << EOU
0003 SGLFW_Evt_test.sh : triangulated raytrace and rasterized visualization
0004 =================================================================================
0005
0006 ~/o/sysrap/tests/SGLFW_Evt_test.sh
0007
0008 MOI=sChimneyAcrylic:0:-1 EYE=0,10000,0 T0=100 ~/o/sysrap/tests/SGLFW_Evt_test.sh run
0009
0010 MOI=sChimneyLS:0:-1 T1=10 NT=1000 ~/o/sysrap/tests/SGLFW_Evt_test.sh run
0011
0012 MOI=sChimneyLS:0:-1 T1=30 NT=1000 TIMESCALE=10 ~/o/sysrap/tests/SGLFW_Evt_test.sh run
0013
0014
0015 EOU
0016 }
0017
0018 cd $(dirname $(realpath $BASH_SOURCE))
0019 name=SGLFW_Evt_test
0020
0021
0022 source $HOME/.opticks/GEOM/GEOM.sh
0023 [ -z "$GEOM" ] && echo $BASH_SOURCE FATAL GEOM $GEOM IS REQUIRTED && exit 1
0024
0025 source $HOME/.opticks/GEOM/EVT.sh
0026 source $HOME/.opticks/GEOM/MOI.sh
0027
0028
0029 export FOLD=/tmp/$USER/opticks/$name
0030 bin=$FOLD/$name
0031 mkdir -p $FOLD
0032
0033
0034 cuda_prefix=/usr/local/cuda
0035 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0036 for l in lib lib64 ; do [ -d "$CUDA_PREFIX/$l" ] && cuda_l=$l ; done
0037
0038
0039 sysrap_dir=..
0040 SYSRAP_DIR=${SYSRAP_DIR:-$sysrap_dir}
0041
0042
0043
0044
0045 logging(){
0046 type $FUNCNAME
0047 export SGLM__set_frame_DUMP=1
0048 export SGLM__setTreeScene_DUMP=1
0049 export SGLFW_Evt_test_DUMP=1
0050 }
0051 [ -n "$LOG" ] && logging
0052
0053
0054
0055
0056 wh=2560,1440
0057
0058
0059
0060 eye=0,-3,0
0061 up=0,0,1
0062 look=0,0,0
0063
0064 cam=perspective
0065
0066
0067
0068 fullscreen=1
0069
0070 tmin=0.1
0071
0072 escale=extent
0073
0074
0075 export WH=${WH:-$wh}
0076 export FULLSCREEN=${FULLSCREEN:-$fullscreen}
0077 export EYE=${EYE:-$eye}
0078 export LOOK=${LOOK:-$look}
0079 export UP=${UP:-$up}
0080 export TMIN=${TMIN:-$tmin}
0081 export ESCALE=${ESCALE:-$escale}
0082 export CAM=${CAM:-$cam}
0083
0084
0085 zoom=1
0086 export ZOOM=${ZOOM:-$zoom}
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096 vizmask=t
0097
0098 export VIZMASK=${VIZMASK:-$vizmask}
0099
0100
0101
0102 defarg="info_build_run"
0103 arg=${1:-$defarg}
0104
0105 [ -n "$BP" ] && defarg="dbg"
0106
0107
0108 PATH=$PATH:$CUDA_PREFIX/bin
0109
0110 vars="BASH_SOURCE defarg arg CUDA_PREFIX cuda_l SCENE_FOLD FOLD bin SGLFW_FRAME SOPTIX_HANDLE"
0111
0112 if [ "${arg/info}" != "$arg" ]; then
0113 for var in $vars ; do printf "%20s : %s\n" "$var" "${!var}" ; done
0114 fi
0115
0116 if [ "${arg/ls}" != "$arg" ]; then
0117 ff="AFOLD BFOLD FOLD"
0118 for f in $ff ; do printf "%20s : ls -alst %s\n" "$f" "${!f}" ; ls -alst ${!f} ; done
0119 fi
0120
0121
0122 if [ "${arg/build}" != "$arg" ]; then
0123
0124 echo $BASH_SOURCE build
0125 [ "$(uname)" == "Darwin" ] && echo $BASH_SOURCE : ERROR : THIS NEEDS OPTIX7+ SO LINUX ONLY && exit 1
0126
0127
0128
0129 gcc $name.cc \
0130 -fvisibility=hidden \
0131 -fvisibility-inlines-hidden \
0132 -fdiagnostics-show-option \
0133 -Wall \
0134 -Wno-unused-function \
0135 -Wno-shadow \
0136 -Wsign-compare \
0137 -DWITH_CUDA_GL_INTEROP \
0138 -DWITH_CHILD \
0139 -g -O0 -std=c++17 \
0140 -I$SYSRAP_DIR \
0141 -I$OPTICKS_PREFIX/externals/glm/glm \
0142 -I$OPTICKS_PREFIX/externals/include \
0143 -I$OPTICKS_PREFIX/include/SysRap \
0144 -I$CUDA_PREFIX/include \
0145 -L$CUDA_PREFIX/$cuda_l -lcudart \
0146 -lstdc++ \
0147 -lm -ldl \
0148 -L$OPTICKS_PREFIX/lib64 -lSysRap \
0149 -L$OPTICKS_PREFIX/externals/lib -lGLEW \
0150 -L$OPTICKS_PREFIX/externals/lib64 -lglfw \
0151 -lGL \
0152 -o $bin
0153
0154
0155
0156
0157
0158 [ $? -ne 0 ] && echo $BASH_SOURCE : build error && exit 1
0159 echo $BASH_SOURCE build DONE
0160 fi
0161
0162 if [ "${arg/dbg}" != "$arg" ]; then
0163 source dbg__.sh
0164 dbg__ $bin
0165 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 2
0166 fi
0167
0168 if [ "${arg/run}" != "$arg" ]; then
0169 [ -z "$DISPLAY" ] && echo $BASH_SOURCE adhoc setting DISPLAY && export DISPLAY=:0
0170 $bin
0171 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 3
0172 fi
0173
0174
0175 exit 0
0176