static void getargs (int argc, const char *argv[]) { bool help = false; OIIO::ArgParse ap; ap.options ("oslnoise_test (" OSL_INTRO_STRING ")\n" "Usage: oslnoise_test [options]", // "%*", parse_files, "", "--help", &help, "Print help message", "-v", &verbose, "Verbose mode", "--img", &make_images, "Make test images", "--iterations %d", &iterations, ustring::format("Number of iterations (default: %d)", iterations).c_str(), "--trials %d", &ntrials, "Number of trials", NULL); if (ap.parse (argc, (const char**)argv) < 0) { std::cerr << ap.geterror() << std::endl; ap.usage (); exit (EXIT_FAILURE); } if (help) { ap.usage (); exit (EXIT_FAILURE); } }
static void getargs (int argc, const char *argv[]) { static bool help = false; OIIO::ArgParse ap; ap.options ("Usage: testshade [options] shader...", "%*", add_shader, "", "--help", &help, "Print help message", "-v", &verbose, "Verbose messages", "--debug", &debug, "Lots of debugging info", "--debug2", &debug2, "Even more debugging info", "--stats", &stats, "Print run statistics", "-g %d %d", &xres, &yres, "Make an X x Y grid of shading points", "-o %L %L", &outputvars, &outputfiles, "Output (variable, filename)", "-od %s", &dataformatname, "Set the output data format to one of: " "uint8, half, float", "--layer %s", &layername, "Set next layer name", "--fparam %L %L", &fparams, &fparams, "Add a float param (args: name value)", "--iparam %L %L", &iparams, &iparams, "Add an integer param (args: name value)", "--vparam %L %L %L %L", &vparams, &vparams, &vparams, &vparams, "Add a vector or color param (args: name x y z)", "--sparam %L %L", &sparams, &sparams, "Add a string param (args: name value)", "--connect %L %L %L %L", &connections, &connections, &connections, &connections, "Connect fromlayer fromoutput tolayer toinput", "--raytype %s", &raytype, "Set the raytype", "--iters %d", &iters, "Number of iterations", "-O0", &O0, "Do no runtime shader optimization", "-O1", &O1, "Do a little runtime shader optimization", "-O2", &O2, "Do lots of runtime shader optimization", "--center", &pixelcenters, "Shade at output pixel 'centers' rather than corners", "--debugnan", &debugnan, "Turn on 'debugnan' mode", "--options %s", &extraoptions, "Set extra OSL options", // "-v", &verbose, "Verbose output", NULL); if (ap.parse(argc, argv) < 0 || shadernames.empty()) { std::cerr << ap.geterror() << std::endl; ap.usage (); exit (EXIT_FAILURE); } if (help) { std::cout << "testshade -- Test Open Shading Language\n" "(c) Copyright 2009-2010 Sony Pictures Imageworks Inc. All Rights Reserved.\n"; ap.usage (); exit (EXIT_SUCCESS); } if (debug || verbose) errhandler.verbosity (ErrorHandler::VERBOSE); }
bool parse_parameters(int argc, const char **argv, CompilationSettings &settings) { OIIO::ArgParse ap; ap.options("Usage: cycles_cubin_cc [options]", "-target %d", &settings.target_arch, "target shader model", "-m %d", &settings.bits, "Cuda architecture bits", "-i %s", &settings.input_file, "Input source filename", "-o %s", &settings.output_file, "Output cubin filename", "-I %L", &settings.includes, "Add additional includepath", "-D %L", &settings.defines, "Add additional defines", "-v", &settings.verbose, "Use verbose logging", "--use_fast_math", &settings.fast_math, "Use fast math", "-cuda-toolkit-dir %s", &settings.cuda_toolkit_dir, "path to the cuda toolkit binary directory", NULL); if(ap.parse(argc, argv) < 0) { fprintf(stderr, "%s\n", ap.geterror().c_str()); ap.usage(); return false; } if(!settings.output_file.size()) { fprintf(stderr, "Error: Output file not set(-o), required\n\n"); return false; } if(!settings.input_file.size()) { fprintf(stderr, "Error: Input file not set(-i, required\n\n"); return false; } if(!settings.target_arch) { fprintf(stderr, "Error: target shader model not set (-target), required\n\n"); return false; } return true; }
static void getargs (int argc, const char *argv[]) { static bool help = false; OIIO::ArgParse ap; ap.options ("Usage: testshade [options] shader...", "%*", add_shader, "", "--help", &help, "Print help message", "-v", &verbose, "Verbose messages", "-t %d", &num_threads, "Render using N threads (default: auto-detect)", "--debug", &debug, "Lots of debugging info", "--debug2", &debug2, "Even more debugging info", "--runstats", &runstats, "Print run statistics", "--stats", &runstats, "", // DEPRECATED 1.7 "--profile %@", &set_profile, NULL, "Print profile information", "--path %s", &shaderpath, "Specify oso search path", "-g %d %d", &xres, &yres, "Make an X x Y grid of shading points", "-res %d %d", &xres, &yres, "", // synonym for -g "--options %s", &extraoptions, "Set extra OSL options", "-o %L %L", &outputvars, &outputfiles, "Output (variable, filename)", "-d %s", &dataformatname, "Set the output data format to one of: " "uint8, half, float", "-od %s", &dataformatname, "", // old name "--print", &print_outputs, "Print values of all -o outputs to console instead of saving images", "--groupname %s", &groupname, "Set shader group name", "--layer %s", &layername, "Set next layer name", "--param %@ %s %s", &action_param, NULL, NULL, "Add a parameter (args: name value) (options: type=%s, lockgeom=%d)", "--connect %L %L %L %L", &connections, &connections, &connections, &connections, "Connect fromlayer fromoutput tolayer toinput", "--reparam %@ %s %s %s", &action_reparam, NULL, NULL, NULL, "Change a parameter (args: layername paramname value) (options: type=%s)", "--group %@ %s", &action_groupspec, &groupspec, "Specify a full group command", "--archivegroup %s", &archivegroup, "Archive the group to a given filename", "--raytype %s", &raytype, "Set the raytype", "--raytype_opt", &raytype_opt, "Specify ray type mask for optimization", "--iters %d", &iters, "Number of iterations", "-O0", &O0, "Do no runtime shader optimization", "-O1", &O1, "Do a little runtime shader optimization", "-O2", &O2, "Do lots of runtime shader optimization", "--entry %L", &entrylayers, "Add layer to the list of entry points", "--entryoutput %L", &entryoutputs, "Add output symbol to the list of entry points", "--center", &pixelcenters, "Shade at output pixel 'centers' rather than corners", "--debugnan", &debugnan, "Turn on 'debug_nan' mode", "--debuguninit", &debug_uninit, "Turn on 'debug_uninit' mode", "--groupoutputs", &use_group_outputs, "Specify group outputs, not global outputs", "--oslquery", &do_oslquery, "Test OSLQuery at runtime", "--inbuffer", &inbuffer, "Compile osl source from and to buffer", "--shadeimage", &use_shade_image, "Use shade_image utility", "--noshadeimage %!", &use_shade_image, "Don't use shade_image utility", "--expr %@ %s", &specify_expr, NULL, "Specify an OSL expression to evaluate", "--offsetuv %f %f", &uoffset, &voffset, "Offset s & t texture coordinates (default: 0 0)", "--offsetst %f %f", &uoffset, &voffset, "", // old name "--scaleuv %f %f", &uscale, &vscale, "Scale s & t texture lookups (default: 1, 1)", "--scalest %f %f", &uscale, &vscale, "", // old name "--userdata_isconnected", &userdata_isconnected, "Consider lockgeom=0 to be isconnected()", "-v", &verbose, "Verbose output", NULL); if (ap.parse(argc, argv) < 0 || (shadernames.empty() && groupspec.empty())) { std::cerr << ap.geterror() << std::endl; ap.usage (); exit (EXIT_FAILURE); } if (help) { std::cout << "testshade -- Test Open Shading Language\n" OSL_COPYRIGHT_STRING "\n"; ap.usage (); exit (EXIT_SUCCESS); } if (debug || verbose) errhandler.verbosity (ErrorHandler::VERBOSE); raytype_bit = shadingsys->raytype_bit (ustring (raytype)); }
static void getargs (int argc, const char *argv[]) { static bool help = false; OIIO::ArgParse ap; ap.options ("Usage: testshade [options] shader...", "%*", add_shader, "", "--help", &help, "Print help message", "-v", &verbose, "Verbose messages", "-t %d", &num_threads, "Render using N threads (default: auto-detect)", "--debug", &debug, "Lots of debugging info", "--debug2", &debug2, "Even more debugging info", "--stats", &stats, "Print run statistics", "--profile", &profile, "Print profile information", "-g %d %d", &xres, &yres, "Make an X x Y grid of shading points", "-o %L %L", &outputvars, &outputfiles, "Output (variable, filename)", "-od %s", &dataformatname, "Set the output data format to one of: " "uint8, half, float", "--groupname %s", &groupname, "Set shader group name", "--layer %s", &layername, "Set next layer name", "--param %@ %s %s", &action_param, NULL, NULL, "Add a parameter (args: name value) (options: type=%s, lockgeom=%d)", "--connect %L %L %L %L", &connections, &connections, &connections, &connections, "Connect fromlayer fromoutput tolayer toinput", "--reparam %@ %s %s %s", &action_reparam, NULL, NULL, NULL, "Change a parameter (args: layername paramname value) (options: type=%s)", "--group %@ %s", &action_groupspec, &groupspec, "Specify a full group command", "--archivegroup %s", &archivegroup, "Archive the group to a given filename", "--raytype %s", &raytype, "Set the raytype", "--iters %d", &iters, "Number of iterations", "-O0", &O0, "Do no runtime shader optimization", "-O1", &O1, "Do a little runtime shader optimization", "-O2", &O2, "Do lots of runtime shader optimization", "--center", &pixelcenters, "Shade at output pixel 'centers' rather than corners", "--debugnan", &debugnan, "Turn on 'debug_nan' mode", "--debuguninit", &debug_uninit, "Turn on 'debug_uninit' mode", "--options %s", &extraoptions, "Set extra OSL options", "--groupoutputs", &use_group_outputs, "Specify group outputs, not global outputs", "--oslquery", &do_oslquery, "Test OSLQuery at runtime", "--inbuffer", &inbuffer, "Compile osl source from and to buffer", // "-v", &verbose, "Verbose output", NULL); if (ap.parse(argc, argv) < 0 || (shadernames.empty() && groupspec.empty())) { std::cerr << ap.geterror() << std::endl; ap.usage (); exit (EXIT_FAILURE); } if (help) { std::cout << "testshade -- Test Open Shading Language\n" "(c) Copyright 2009-2010 Sony Pictures Imageworks Inc. All Rights Reserved.\n"; ap.usage (); exit (EXIT_SUCCESS); } if (debug || verbose) errhandler.verbosity (ErrorHandler::VERBOSE); raytype_bit = shadingsys->raytype_bit (ustring (raytype)); }