| 50 |
|
#endif |
| 51 |
|
#endif |
| 52 |
|
#ifndef SORT_INTVL |
| 53 |
< |
#define SORT_INTVL (SORT_THRESH*256) |
| 53 |
> |
#define SORT_INTVL (SORT_THRESH<<1) |
| 54 |
|
#endif |
| 55 |
|
#ifndef MAX_SORT_INTVL |
| 56 |
< |
#define MAX_SORT_INTVL (SORT_INTVL<<4) |
| 56 |
> |
#define MAX_SORT_INTVL (SORT_INTVL<<6) |
| 57 |
|
#endif |
| 58 |
|
|
| 59 |
|
static COLOR avsum = BLKCOLOR; /* computed ambient value sum */ |
| 77 |
|
#define newambval() (AMBVAL *)bmalloc(sizeof(AMBVAL)) |
| 78 |
|
|
| 79 |
|
extern long ftell(), lseek(); |
| 80 |
< |
static int initambfile(), avsave(), avinsert(), sortambvals(); |
| 80 |
> |
static int initambfile(), avsave(), avinsert(), sortambvals(), avlmemi(); |
| 81 |
|
static AMBVAL *avstore(); |
| 82 |
|
#ifdef F_SETLKW |
| 83 |
|
static aflock(); |
| 210 |
|
goto dumbamb; |
| 211 |
|
return; |
| 212 |
|
} |
| 213 |
< |
/* resort memory? */ |
| 214 |
< |
sortambvals(0); |
| 213 |
> |
|
| 214 |
> |
if (tracktime) /* sort to minimize thrashing */ |
| 215 |
> |
sortambvals(0); |
| 216 |
|
/* get ambient value */ |
| 217 |
|
setcolor(acol, 0.0, 0.0, 0.0); |
| 218 |
|
d = sumambient(acol, r, nrm, rdepth, |
| 258 |
|
/* do this node */ |
| 259 |
|
for (av = at->alist; av != NULL; av = av->next) { |
| 260 |
|
if (tracktime) |
| 261 |
< |
av->latick = ambclock++; |
| 261 |
> |
av->latick = ambclock; |
| 262 |
|
/* |
| 263 |
|
* Ambient level test. |
| 264 |
|
*/ |
| 403 |
|
setbuf(ambfp, bmalloc(BUFSIZ+8)); |
| 404 |
|
if (creat) { /* new file */ |
| 405 |
|
newheader("RADIANCE", ambfp); |
| 406 |
< |
fprintf(ambfp, "%s -av %g %g %g -ab %d -aa %g ", |
| 406 |
> |
fprintf(ambfp, "%s -av %g %g %g -aw %d -ab %d -aa %g ", |
| 407 |
|
progname, colval(ambval,RED), |
| 408 |
|
colval(ambval,GRN), colval(ambval,BLU), |
| 409 |
< |
ambounce, ambacc); |
| 409 |
> |
ambvwt, ambounce, ambacc); |
| 410 |
|
fprintf(ambfp, "-ad %d -as %d -ar %d %s\n", |
| 411 |
|
ambdiv, ambssamp, ambres, |
| 412 |
|
octname==NULL ? "" : octname); |
| 617 |
|
AMBVAL tav, *tap, *pnext; |
| 618 |
|
register int i, j; |
| 619 |
|
/* see if it's time yet */ |
| 620 |
< |
if (!always && (ambclock < lastsort+sortintvl || |
| 620 |
> |
if (!always && (ambclock++ < lastsort+sortintvl || |
| 621 |
|
nambvals < SORT_THRESH)) |
| 622 |
|
return; |
| 623 |
|
/* |