--- ray/src/gen/mkillum.c 1991/08/26 10:16:54 1.13 +++ ray/src/gen/mkillum.c 1992/07/21 09:45:58 2.4 @@ -30,7 +30,7 @@ char *rtargv[64] = { "rtrace", "-dj", ".25", "-dr", " "-ab", "2", "-ad", "256", "-as", "128", "-aa", ".15", }; int rtargc = 14; /* overriding rtrace options */ -char *myrtopts[] = { "-I-", "-i-", "-ov", "-h-", "-fff", NULL }; +char *myrtopts[] = { "-I-", "-i-", "-ov", "-h-", "-fff", "-y", "0", NULL }; struct rtproc rt; /* our rtrace process */ @@ -82,8 +82,7 @@ char *argv[]; if (argv[i][0] == '-' && argv[i][1] == 'w') warnings = !warnings; } - if ((gargc = i) < 2) - error(USER, "too few arguments"); + gargc = i; rtargc--; for (i = 0; myrtopts[i] != NULL; i++) rtargv[rtargc++] = myrtopts[i]; @@ -102,6 +101,8 @@ char *argv[]; perror(rtpath); exit(1); } + if (gargc < 2 || argv[gargc-1][0] == '-') + error(USER, "missing octree argument"); /* else initialize and run our calculation */ init(); if (gargc+1 < argc) @@ -147,6 +148,7 @@ init() /* start rtrace and set up buffers */ /* set up signal handling */ signal(SIGPIPE, quit); /* start rtrace process */ + errno = 0; maxbytes = open_process(rt.pd, rtargv); if (maxbytes == 0) { eputs(rtargv[0]); @@ -384,7 +386,17 @@ printopts() /* print out option default values */ { printf("m=%-15s\t\t# material name\n", thisillum.matname); printf("f=%-15s\t\t# data file name\n", thisillum.datafile); - printf("c=n\t\t\t\t# color none\n"); + if (thisillum.flags & IL_COLAVG) + if (thisillum.flags & IL_COLDST) + printf("c=d\t\t\t\t# color distribution\n"); + else + printf("c=a\t\t\t\t# color average\n"); + else + printf("c=n\t\t\t\t# color none\n"); + if (thisillum.flags & IL_LIGHT) + printf("l+\t\t\t\t# light type on\n"); + else + printf("l-\t\t\t\t# light type off\n"); printf("d=%d\t\t\t\t# density of points\n", thisillum.sampdens); printf("s=%d\t\t\t\t# samples per point\n", thisillum.nsamps); printf("b=%f\t\t\t# minimum average brightness\n", thisillum.minbrt);