Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #!/bin/bash
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   ## optionally sets AFOLD BFOLD where event info is loaded from
0026 source $HOME/.opticks/GEOM/MOI.sh   ## optionally sets MOI envvar controlling initial viewpoint
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 #wh=1024,768
0056 wh=2560,1440
0057 
0058 
0059 #eye=-1,-1,0
0060 eye=0,-3,0
0061 up=0,0,1
0062 look=0,0,0
0063 
0064 cam=perspective
0065 #cam=orthographic
0066 
0067 #fullscreen=0
0068 fullscreen=1
0069 
0070 tmin=0.1
0071 #escale=asis
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 #soptix_handle=-1 # IAS
0090 #soptix_handle=0  # GAS0 global
0091 #soptix_handle=1  # GAS1
0092 #export SOPTIX_HANDLE=${SOPTIX_HANDLE:-$soptix_handle}
0093 ## NB SOPTIX is for optix handled triangles : thats not yet implemented for this apph
0094 
0095 
0096 vizmask=t    # "t"  not everything ie 0xff : no masking
0097 #vizmask=t0  # "t0" not 0-th bit ie 0xfe : ie mask global
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     # -M lists paths of all included headers in Makefile dependency format
0128     # -M \
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     # -Wno-unused-private-field \  ## clang-ism ?
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