static COMMAND_FUNC( set_color_control ) { if( ASKIF("calculate specular color separately") ) glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SEPARATE_COLOR_CONTROL); else glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SINGLE_COLOR); }
static COMMAND_FUNC( set_two_side ) { if( debug & gl_debug ) advise("glLightModeli"); if( ASKIF("light back faces of polygons") ) glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE); else glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_FALSE); }
static COMMAND_FUNC( set_local_viewer ) { if( debug & gl_debug ) advise("glLightModeli"); if( ASKIF("use viewer position when computing specular reflections") ) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE); else glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_FALSE); }
static COMMAND_FUNC( do_cm_imm ) { if( CM_IS_IMMEDIATE ){ if( verbose ) advise("old state was immediate"); } else { if( verbose ) advise("old state was deferred"); } cm_immediate( ASKIF("update colors immediately") ); }
static COMMAND_FUNC( do_set_direct ) { int flag; flag=ASKIF("use direct i/o"); #ifdef HAVE_DIRECT_IO set_direct_io(flag); #else /* ! HAVE_DIRECT_IO */ if( flag ) advise("ignoring direct i/o request on non-sgi system"); #endif /* ! HAVE_DIRECT_IO */ }
static COMMAND_FUNC( do_vbl_sync ) { int sync; sync = ASKIF("sync to vblank"); if( sync ){ setenv("__GL_SYNC_TO_VBLANK","1",1); } else { unsetenv("__GL_SYNC_TO_VBLANK"); } }
static COMMAND_FUNC( do_set_autoclose ) { Image_File *ifp; int yn; ifp = PICK_IMG_FILE(""); yn = ASKIF("close automatically after reading last frame"); if( ifp == NO_IMAGE_FILE ) return; if( !yn ) ifp->if_flags |= NO_AUTO_CLOSE; else ifp->if_flags &= ~NO_AUTO_CLOSE; }
static COMMAND_FUNC( do_split ) { int wu; Trial_Class *tcp; tcp = pick_trial_class(""); wu = ASKIF("retain upper half"); if( tcp == NULL ) return; if( no_data(QSP_ARG "split") ) return; split(tcp,wu); }
static COMMAND_FUNC( _split ) { int wu; Trial_Class *tcp; tcp = PICK_TRIAL_CLASS(""); wu = ASKIF("retain upper half"); if( tcp == NULL ) return; if( no_data(QSP_ARG "_split") ) return; split(QSP_ARG tcp,wu); }
static COMMAND_FUNC( prquic ) { FILE *fp; int i; int in_db; Trial_Class *tcp; fp=try_nice( nameof("quic file"), "w"); tcp = pick_trial_class(""); in_db = ASKIF("transform x values to decibels"); if( fp == NULL || tcp == NULL ) return; if( no_data(SINGLE_QSP_ARG,"prquic") ) return; fprintf(fp,"%c\n",004); /* EOT */ pntquic(fp,tcp,in_db); fclose(fp); }
static COMMAND_FUNC( prquic ) { FILE *fp; int i; int in_db; Trial_Class *tcp; fp=TRYNICE( NAMEOF("quic file"), "w"); tcp = PICK_TRIAL_CLASS(""); in_db = ASKIF("transform x values to decibels"); if( fp == NULL || tcp == NULL ) return; if( no_data(SINGLE_QSP_ARG,"prquic") ) return; fprintf(fp,"%c\n",004); /* EOT */ pntquic(fp,tcp,in_db); fclose(fp); }
static COMMAND_FUNC( do_set_clobber ) { image_file_clobber(ASKIF("Allow overwrites of exisiting files") ); }
static COMMAND_FUNC( setfc ) { set_fcflag( ASKIF("do analysis relative to 50% chance") ); }
static COMMAND_FUNC( do_exact ) { expect_exact_count = ASKIF("expect ascii files to contain exactly the right number of elements"); }