| 1 |
< |
/* Copyright (c) 1996 Regents of the University of California */ |
| 1 |
> |
/* Copyright (c) 1998 Silicon Graphics, Inc. */ |
| 2 |
|
|
| 3 |
|
#ifndef lint |
| 4 |
< |
static char SCCSid[] = "$SunId$ LBL"; |
| 4 |
> |
static char SCCSid[] = "$SunId$ SGI"; |
| 5 |
|
#endif |
| 6 |
|
|
| 7 |
|
/* |
| 21 |
|
#else |
| 22 |
|
#define REMSH "rsh" |
| 23 |
|
#endif |
| 24 |
< |
/* input variables */ |
| 25 |
< |
#define HOST 0 /* rendering host machine */ |
| 26 |
< |
#define RENDER 1 /* rendering options */ |
| 27 |
< |
#define PFILT 2 /* pfilt options */ |
| 28 |
< |
#define PINTERP 3 /* pinterp options */ |
| 29 |
< |
#define OCTREE 4 /* octree file name */ |
| 30 |
< |
#define DIRECTORY 5 /* working (sub)directory */ |
| 31 |
< |
#define BASENAME 6 /* output image base name */ |
| 32 |
< |
#define VIEWFILE 7 /* animation frame views */ |
| 33 |
< |
#define START 8 /* starting frame number */ |
| 34 |
< |
#define END 9 /* ending frame number */ |
| 35 |
< |
#define RIF 10 /* rad input file */ |
| 36 |
< |
#define NEXTANIM 11 /* next animation file */ |
| 37 |
< |
#define ANIMATE 12 /* animation command */ |
| 38 |
< |
#define TRANSFER 13 /* frame transfer command */ |
| 39 |
< |
#define ARCHIVE 14 /* archiving command */ |
| 40 |
< |
#define INTERP 15 /* # frames to interpolate */ |
| 41 |
< |
#define OVERSAMP 16 /* # times to oversample image */ |
| 42 |
< |
#define MBLUR 17 /* samples for motion blur */ |
| 43 |
< |
#define RTRACE 18 /* use rtrace with pinterp? */ |
| 44 |
< |
#define DISKSPACE 19 /* how much disk space to use */ |
| 45 |
< |
#define RESOLUTION 20 /* desired final resolution */ |
| 46 |
< |
#define EXPOSURE 21 /* how to compute exposure */ |
| 47 |
< |
#define RSH 22 /* remote shell script or program */ |
| 24 |
> |
/* input variables (alphabetical by name) */ |
| 25 |
> |
#define ANIMATE 0 /* animation command */ |
| 26 |
> |
#define ARCHIVE 1 /* archiving command */ |
| 27 |
> |
#define BASENAME 2 /* output image base name */ |
| 28 |
> |
#define DIRECTORY 3 /* working (sub)directory */ |
| 29 |
> |
#define DISKSPACE 4 /* how much disk space to use */ |
| 30 |
> |
#define END 5 /* ending frame number */ |
| 31 |
> |
#define EXPOSURE 6 /* how to compute exposure */ |
| 32 |
> |
#define HOST 7 /* rendering host machine */ |
| 33 |
> |
#define INTERP 8 /* # frames to interpolate */ |
| 34 |
> |
#define MBLUR 9 /* samples for motion blur */ |
| 35 |
> |
#define NEXTANIM 10 /* next animation file */ |
| 36 |
> |
#define OCTREE 11 /* octree file name */ |
| 37 |
> |
#define OVERSAMP 12 /* # times to oversample image */ |
| 38 |
> |
#define PFILT 13 /* pfilt options */ |
| 39 |
> |
#define PINTERP 14 /* pinterp options */ |
| 40 |
> |
#define RENDER 15 /* rendering options */ |
| 41 |
> |
#define RESOLUTION 16 /* desired final resolution */ |
| 42 |
> |
#define RIF 17 /* rad input file */ |
| 43 |
> |
#define RSH 18 /* remote shell script or program */ |
| 44 |
> |
#define RTRACE 19 /* use rtrace with pinterp? */ |
| 45 |
> |
#define START 20 /* starting frame number */ |
| 46 |
> |
#define TRANSFER 21 /* frame transfer command */ |
| 47 |
> |
#define VIEWFILE 22 /* animation frame views */ |
| 48 |
|
|
| 49 |
|
int NVARS = 23; /* total number of variables */ |
| 50 |
|
|
| 51 |
|
VARIABLE vv[] = { /* variable-value pairs */ |
| 52 |
– |
{"host", 4, 0, NULL, NULL}, |
| 53 |
– |
{"render", 3, 0, NULL, catvalues}, |
| 54 |
– |
{"pfilt", 2, 0, NULL, catvalues}, |
| 55 |
– |
{"pinterp", 2, 0, NULL, catvalues}, |
| 56 |
– |
{"OCTREE", 3, 0, NULL, onevalue}, |
| 57 |
– |
{"DIRECTORY", 3, 0, NULL, onevalue}, |
| 58 |
– |
{"BASENAME", 3, 0, NULL, onevalue}, |
| 59 |
– |
{"VIEWFILE", 2, 0, NULL, onevalue}, |
| 60 |
– |
{"START", 2, 0, NULL, intvalue}, |
| 61 |
– |
{"END", 2, 0, NULL, intvalue}, |
| 62 |
– |
{"RIF", 3, 0, NULL, onevalue}, |
| 63 |
– |
{"NEXTANIM", 3, 0, NULL, onevalue}, |
| 52 |
|
{"ANIMATE", 2, 0, NULL, onevalue}, |
| 65 |
– |
{"TRANSFER", 2, 0, NULL, onevalue}, |
| 53 |
|
{"ARCHIVE", 2, 0, NULL, onevalue}, |
| 54 |
+ |
{"BASENAME", 3, 0, NULL, onevalue}, |
| 55 |
+ |
{"DIRECTORY", 3, 0, NULL, onevalue}, |
| 56 |
+ |
{"DISKSPACE", 3, 0, NULL, fltvalue}, |
| 57 |
+ |
{"END", 2, 0, NULL, intvalue}, |
| 58 |
+ |
{"EXPOSURE", 3, 0, NULL, onevalue}, |
| 59 |
+ |
{"host", 4, 0, NULL, NULL}, |
| 60 |
|
{"INTERPOLATE", 3, 0, NULL, intvalue}, |
| 68 |
– |
{"OVERSAMPLE", 2, 0, NULL, fltvalue}, |
| 61 |
|
{"MBLUR", 2, 0, NULL, onevalue}, |
| 62 |
< |
{"RTRACE", 2, 0, NULL, boolvalue}, |
| 63 |
< |
{"DISKSPACE", 3, 0, NULL, fltvalue}, |
| 62 |
> |
{"NEXTANIM", 3, 0, NULL, onevalue}, |
| 63 |
> |
{"OCTREE", 3, 0, NULL, onevalue}, |
| 64 |
> |
{"OVERSAMPLE", 2, 0, NULL, fltvalue}, |
| 65 |
> |
{"pfilt", 2, 0, NULL, catvalues}, |
| 66 |
> |
{"pinterp", 2, 0, NULL, catvalues}, |
| 67 |
> |
{"render", 3, 0, NULL, catvalues}, |
| 68 |
|
{"RESOLUTION", 3, 0, NULL, onevalue}, |
| 69 |
< |
{"EXPOSURE", 3, 0, NULL, onevalue}, |
| 69 |
> |
{"RIF", 3, 0, NULL, onevalue}, |
| 70 |
|
{"RSH", 3, 0, NULL, onevalue}, |
| 71 |
+ |
{"RTRACE", 2, 0, NULL, boolvalue}, |
| 72 |
+ |
{"START", 2, 0, NULL, intvalue}, |
| 73 |
+ |
{"TRANSFER", 2, 0, NULL, onevalue}, |
| 74 |
+ |
{"VIEWFILE", 2, 0, NULL, onevalue}, |
| 75 |
|
}; |
| 76 |
|
|
| 77 |
|
#define SFNAME "STATUS" /* status file name */ |
| 474 |
|
sprintf(cp, ")[ \t]*=' > %s/radset.var", vval(DIRECTORY)); |
| 475 |
|
cp += 11; /* point to file name */ |
| 476 |
|
} |
| 477 |
< |
if (system(combuf)) { |
| 478 |
< |
fprintf(stderr, "%s: error executing rad command:\n\t%s\n", |
| 479 |
< |
progname, combuf); |
| 480 |
< |
quit(1); |
| 481 |
< |
} |
| 477 |
> |
system(combuf); /* ignore exit code */ |
| 478 |
|
if (pippt == NULL) { /* load variables and remove file */ |
| 479 |
|
loadvars(cp); |
| 480 |
|
unlink(cp); |
| 708 |
|
close(open(combuf, O_RDONLY|O_CREAT, 0666)); |
| 709 |
|
} |
| 710 |
|
/* create command */ |
| 711 |
< |
sprintf(combuf, "rpict%s -w0", rendopt); |
| 711 |
> |
sprintf(combuf, "rpict%s%s -w0", rendopt, |
| 712 |
> |
viewopt(getview(first>1 ? first-1 : 1))); |
| 713 |
|
if (vint(INTERP) || atoi(vval(MBLUR))) |
| 714 |
|
sprintf(combuf+strlen(combuf), " -z %s.zbf", vval(BASENAME)); |
| 715 |
|
sprintf(combuf+strlen(combuf), " -o %s.unf %s -S %d", |