--- ray/src/rt/rpict.c 2003/06/26 00:58:10 2.56 +++ ray/src/rt/rpict.c 2003/09/24 14:55:54 2.63 @@ -7,11 +7,12 @@ static const char RCSid[] = "$Id"; #include "copyright.h" +#include "platform.h" #include "ray.h" #include -#ifndef NIX +#ifndef NON_POSIX #ifdef BSD #include #include @@ -24,7 +25,6 @@ static const char RCSid[] = "$Id"; #include #include -#include "platform.h" #include "view.h" #include "random.h" #include "paths.h" @@ -81,16 +81,16 @@ double specjitter = 1.; /* specular sampling jitter * int backvis = 1; /* back face visibility */ -int maxdepth = 6; /* maximum recursion depth */ -double minweight = 5e-3; /* minimum ray weight */ +int maxdepth = 7; /* maximum recursion depth */ +double minweight = 4e-3; /* minimum ray weight */ char *ambfile = NULL; /* ambient file name */ COLOR ambval = BLKCOLOR; /* ambient value */ int ambvwt = 0; /* initial weight for ambient value */ -double ambacc = 0.2; /* ambient accuracy */ -int ambres = 32; /* ambient resolution */ -int ambdiv = 128; /* ambient divisions */ -int ambssamp = 0; /* ambient super-samples */ +double ambacc = 0.15; /* ambient accuracy */ +int ambres = 64; /* ambient resolution */ +int ambdiv = 512; /* ambient divisions */ +int ambssamp = 128; /* ambient super-samples */ int ambounce = 0; /* ambient bounces */ char *amblist[128]; /* ambient include/exclude list */ int ambincl = -1; /* include == 1, exclude == 0 */ @@ -115,9 +115,7 @@ void report(); double pixvalue(); -#ifdef NIX -#define file_exists(f) (access(f,F_OK)==0) -#else +#ifdef RHAS_STAT #include #include int @@ -128,6 +126,8 @@ char *fname; if (stat(fname, &sbuf) < 0) return(0); return((sbuf.st_mode & S_IFREG) != 0); } +#else +#define file_exists(f) (access(f,F_OK)==0) #endif @@ -137,7 +137,7 @@ int code; { if (code) /* report status */ report(); -#ifndef NIX +#ifndef NON_POSIX headclean(); /* delete header file */ pfclean(); /* clean up persist files */ #endif @@ -145,7 +145,7 @@ int code; } -#ifndef NIX +#ifndef NON_POSIX void report() /* report progress */ { @@ -243,7 +243,7 @@ char *pout, *zout, *prvr; setview(&ourview); prvr = fbuf; /* mark for renaming */ } - if (pout != NULL & prvr != NULL) { + if ((pout != NULL) & (prvr != NULL)) { sprintf(fbuf, pout, seq); if (!strcmp(prvr, fbuf)) { /* rename */ strcpy(fbuf2, fbuf); @@ -253,7 +253,7 @@ char *pout, *zout, *prvr; cp--; strcpy(cp, RFTEMPLATE); prvr = mktemp(fbuf2); - if (rename(fbuf, prvr) < 0) + if (rename(fbuf, prvr) < 0) { if (errno == ENOENT) { /* ghost file */ sprintf(errmsg, "new output file \"%s\"", @@ -266,6 +266,7 @@ char *pout, *zout, *prvr; fbuf, prvr); error(SYSTEM, errmsg); } + } } } npicts = 0; /* render sequence */ @@ -294,7 +295,7 @@ char *pout, *zout, *prvr; dupheader(); } hres = hresolu; vres = vresolu; pa = pixaspect; - if (prvr != NULL) + if (prvr != NULL) { if (viewfile(prvr, &ourview, &rs) <= 0 || rs.rt != PIXSTANDARD) { sprintf(errmsg, @@ -305,6 +306,7 @@ char *pout, *zout, *prvr; hres = scanlen(&rs); vres = numscans(&rs); } + } if ((cp = setview(&ourview)) != NULL) error(USER, cp); normaspect(viewaspect(&ourview), &pa, &hres, &vres); @@ -322,6 +324,7 @@ char *pout, *zout, *prvr; putchar('\n'); if (pa < .99 || pa > 1.01) fputaspect(pa, stdout); + fputnow(stdout); fputformat(COLRFMT, stdout); putchar('\n'); if (zout != NULL) @@ -343,7 +346,7 @@ FILE *fp; { char linebuf[256]; - copystruct(&lastview, &ourview); + lastview = ourview; while (fgets(linebuf, sizeof(linebuf), fp) != NULL) if (isview(linebuf) && sscanview(&ourview, linebuf) > 0) return(0);