14 |
|
|
15 |
|
char *progname; /* our program name */ |
16 |
|
char *hdkfile; /* holodeck file name */ |
17 |
+ |
char gargc; /* global argc */ |
18 |
+ |
char **gargv; /* global argv */ |
19 |
|
|
20 |
|
VIEW myview = STDVIEW; /* current output view */ |
21 |
|
int xres = 512, yres = 512; /* max. horizontal and vertical resolution */ |
22 |
|
char *outspec = NULL; /* output file specification */ |
23 |
+ |
double randfrac = -1.; /* random resampling fraction */ |
24 |
|
double pixaspect = 1.; /* pixel aspect ratio */ |
25 |
|
int seqstart = 0; /* sequence start frame */ |
26 |
|
double expval = 1.; /* exposure value */ |
39 |
|
{ |
40 |
|
int i, rval; |
41 |
|
|
42 |
+ |
gargc = argc; gargv = argv; |
43 |
|
progname = argv[0]; /* get arguments */ |
44 |
|
for (i = 1; i < argc && argv[i][0] == '-'; i++) { |
45 |
|
rval = getviewopt(&myview, argc-i, argv+i); |
78 |
|
goto userr; |
79 |
|
outspec = argv[++i]; |
80 |
|
break; |
81 |
+ |
case 'r': /* random sampling */ |
82 |
+ |
if (badarg(argc-i-1,argv+i+1,"f")) |
83 |
+ |
goto userr; |
84 |
+ |
randfrac = atof(argv[++i]); |
85 |
+ |
break; |
86 |
+ |
case 's': /* smooth sampling */ |
87 |
+ |
randfrac = -1.; |
88 |
+ |
break; |
89 |
|
case 'S': /* sequence start */ |
90 |
|
if (badarg(argc-i-1,argv+i+1,"i")) |
91 |
|
goto userr; |
123 |
|
quit(0); /* all done! */ |
124 |
|
userr: |
125 |
|
fprintf(stderr, |
126 |
< |
"Usage: %s [-w][-pa pa][-pe ex][-x hr][-y vr][-S stfn][-o outp][view] input.hdk\n", |
126 |
> |
"Usage: %s [-w][-r rf][-pa pa][-pe ex][-x hr][-y vr][-S stfn][-o outp][view] input.hdk\n", |
127 |
|
progname); |
128 |
|
quit(1); |
129 |
|
} |
183 |
|
bil[i].b = bl[i].bi; |
184 |
|
} |
185 |
|
hdloadbeams(bil, nb, pixBeam); |
186 |
< |
pixFlush(); |
186 |
> |
pixFinish(randfrac); |
187 |
|
free((char *)bil); |
188 |
|
} |
189 |
|
|
208 |
|
/* write header */ |
209 |
|
newheader("RADIANCE", stdout); |
210 |
|
printf("SOFTWARE= %s\n", VersionID); |
211 |
< |
printf("%s %s\n", progname, hdkfile); |
211 |
> |
printargs(gargc, gargv, stdout); |
212 |
|
if (fn) |
213 |
|
printf("FRAME=%d\n", fn); |
214 |
|
fputs(VIEWSTR, stdout); |