--- ray/src/rt/rview.c 1991/05/03 16:12:34 1.14 +++ ray/src/rt/rview.c 1991/08/26 12:53:17 1.20 @@ -10,10 +10,8 @@ static char SCCSid[] = "$SunId$ LBL"; * 3/24/87 */ -#include "standard.h" +#include "ray.h" -#include "color.h" - #include "rpaint.h" #include @@ -23,6 +21,10 @@ static char SCCSid[] = "$SunId$ LBL"; VIEW ourview = STDVIEW; /* viewing parameters */ int hresolu, vresolu; /* image resolution */ +int dimlist[MAXDIM]; /* sampling dimensions */ +int ndims = 0; /* number of sampling dimensions */ +int samplendx = 0; /* index for this sample */ + int psample = 8; /* pixel sample size */ double maxdiff = .15; /* max. sample difference */ @@ -31,6 +33,9 @@ double exposure = 1.0; /* exposure for scene */ double dstrsrc = 0.0; /* square source distribution */ double shadthresh = .1; /* shadow threshold */ double shadcert = .25; /* shadow certainty */ +int directrelay = 0; /* number of source relays */ +int vspretest = 128; /* virtual source pretest density */ +int directinvis = 0; /* sources invisible? */ int maxdepth = 4; /* maximum recursion depth */ double minweight = 1e-2; /* minimum ray weight */ @@ -57,7 +62,7 @@ int pdepth; /* image depth in current frame */ static char *reserve_mem = NULL; /* pre-allocated reserve memory */ -#define RESERVE_AMT 8192 /* amount of memory to reserve */ +#define RESERVE_AMT 32768 /* amount of memory to reserve */ #define CTRL(c) ('c'-'@') @@ -311,7 +316,7 @@ rsample() /* sample the image */ /* sample the image */ for (y = 0; /* y < ysiz */ ; y++) { for (x = 0; x < xsiz-1; x++) { - if (dev->inpready) + if (dev->inpready || errno == ENOMEM) goto escape; /* * Test super-pixel to the right. @@ -327,7 +332,7 @@ rsample() /* sample the image */ if (y >= ysiz-1) break; for (x = 0; x < xsiz; x++) { - if (dev->inpready) + if (dev->inpready || errno == ENOMEM) goto escape; /* * Find super-pixel at this position in next row. @@ -382,7 +387,7 @@ int pd; if (p->kid == NULL) { /* subdivide */ if ((p->kid = newptree()) == NULL) - return(growth); + return(0); /* * The following paint order can leave a black pixel * when redraw() is called in (*dev->paintr)().