| 28 |
|
#include "view.h" |
| 29 |
|
#include "random.h" |
| 30 |
|
#include "paths.h" |
| 31 |
+ |
#include "rtmisc.h" /* myhostname() */ |
| 32 |
|
|
| 33 |
|
|
| 34 |
|
#define RFTEMPLATE "rfXXXXXX" |
| 82 |
|
|
| 83 |
|
int backvis = 1; /* back face visibility */ |
| 84 |
|
|
| 85 |
< |
int maxdepth = 6; /* maximum recursion depth */ |
| 86 |
< |
double minweight = 5e-3; /* minimum ray weight */ |
| 85 |
> |
int maxdepth = 7; /* maximum recursion depth */ |
| 86 |
> |
double minweight = 4e-3; /* minimum ray weight */ |
| 87 |
|
|
| 88 |
|
char *ambfile = NULL; /* ambient file name */ |
| 89 |
|
COLOR ambval = BLKCOLOR; /* ambient value */ |
| 90 |
|
int ambvwt = 0; /* initial weight for ambient value */ |
| 91 |
< |
double ambacc = 0.2; /* ambient accuracy */ |
| 92 |
< |
int ambres = 32; /* ambient resolution */ |
| 93 |
< |
int ambdiv = 128; /* ambient divisions */ |
| 94 |
< |
int ambssamp = 0; /* ambient super-samples */ |
| 91 |
> |
double ambacc = 0.15; /* ambient accuracy */ |
| 92 |
> |
int ambres = 64; /* ambient resolution */ |
| 93 |
> |
int ambdiv = 512; /* ambient divisions */ |
| 94 |
> |
int ambssamp = 128; /* ambient super-samples */ |
| 95 |
|
int ambounce = 0; /* ambient bounces */ |
| 96 |
|
char *amblist[128]; /* ambient include/exclude list */ |
| 97 |
|
int ambincl = -1; /* include == 1, exclude == 0 */ |
| 150 |
|
void |
| 151 |
|
report() /* report progress */ |
| 152 |
|
{ |
| 152 |
– |
extern char *myhostname(); |
| 153 |
|
double u, s; |
| 154 |
|
#ifdef BSD |
| 155 |
|
struct rusage rubuf; |
| 243 |
|
setview(&ourview); |
| 244 |
|
prvr = fbuf; /* mark for renaming */ |
| 245 |
|
} |
| 246 |
< |
if (pout != NULL & prvr != NULL) { |
| 246 |
> |
if ((pout != NULL) & (prvr != NULL)) { |
| 247 |
|
sprintf(fbuf, pout, seq); |
| 248 |
|
if (!strcmp(prvr, fbuf)) { /* rename */ |
| 249 |
|
strcpy(fbuf2, fbuf); |
| 253 |
|
cp--; |
| 254 |
|
strcpy(cp, RFTEMPLATE); |
| 255 |
|
prvr = mktemp(fbuf2); |
| 256 |
< |
if (rename(fbuf, prvr) < 0) |
| 256 |
> |
if (rename(fbuf, prvr) < 0) { |
| 257 |
|
if (errno == ENOENT) { /* ghost file */ |
| 258 |
|
sprintf(errmsg, |
| 259 |
|
"new output file \"%s\"", |
| 266 |
|
fbuf, prvr); |
| 267 |
|
error(SYSTEM, errmsg); |
| 268 |
|
} |
| 269 |
+ |
} |
| 270 |
|
} |
| 271 |
|
} |
| 272 |
|
npicts = 0; /* render sequence */ |
| 295 |
|
dupheader(); |
| 296 |
|
} |
| 297 |
|
hres = hresolu; vres = vresolu; pa = pixaspect; |
| 298 |
< |
if (prvr != NULL) |
| 298 |
> |
if (prvr != NULL) { |
| 299 |
|
if (viewfile(prvr, &ourview, &rs) <= 0 |
| 300 |
|
|| rs.rt != PIXSTANDARD) { |
| 301 |
|
sprintf(errmsg, |
| 306 |
|
hres = scanlen(&rs); |
| 307 |
|
vres = numscans(&rs); |
| 308 |
|
} |
| 309 |
+ |
} |
| 310 |
|
if ((cp = setview(&ourview)) != NULL) |
| 311 |
|
error(USER, cp); |
| 312 |
|
normaspect(viewaspect(&ourview), &pa, &hres, &vres); |
| 346 |
|
{ |
| 347 |
|
char linebuf[256]; |
| 348 |
|
|
| 349 |
< |
copystruct(&lastview, &ourview); |
| 349 |
> |
lastview = ourview; |
| 350 |
|
while (fgets(linebuf, sizeof(linebuf), fp) != NULL) |
| 351 |
|
if (isview(linebuf) && sscanview(&ourview, linebuf) > 0) |
| 352 |
|
return(0); |
| 413 |
|
if (i >= vres) |
| 414 |
|
goto alldone; |
| 415 |
|
if (zfd != -1 && i > 0 && |
| 416 |
< |
lseek(zfd, (off_t)i*hres*sizeof(float), 0) < 0) |
| 416 |
> |
lseek(zfd, (off_t)i*hres*sizeof(float), SEEK_SET) < 0) |
| 417 |
|
error(SYSTEM, "z-file seek error in render"); |
| 418 |
|
pctdone = 100.0*i/vres; |
| 419 |
|
if (ralrm > 0) /* report init stats */ |