--- ray/src/rt/rtrace.c 1991/06/24 16:16:54 1.16 +++ ray/src/rt/rtrace.c 1991/12/19 14:54:53 2.2 @@ -46,8 +46,10 @@ int vresolu = 0; /* vertical resolution */ double dstrsrc = 0.0; /* square source distribution */ double shadthresh = .05; /* shadow threshold */ double shadcert = .5; /* shadow certainty */ -int directrelay = 0; /* number of source relays */ -int vspretest = 128; /* virtual source pretest density */ +int directrelay = 1; /* number of source relays */ +int vspretest = 512; /* virtual source pretest density */ +int directinvis = 0; /* sources invisible? */ +double srcsizerat = .25; /* maximum ratio source size/dist. */ int maxdepth = 6; /* maximum recursion depth */ double minweight = 4e-3; /* minimum ray weight */ @@ -234,12 +236,19 @@ register FVECT vec; int fmt; FILE *fp; { + extern char *fgetword(); static float vf[3]; + char buf[32]; + register int i; switch (fmt) { case 'a': /* ascii */ - if (fscanf(fp, "%lf %lf %lf", vec, vec+1, vec+2) != 3) - return(-1); + for (i = 0; i < 3; i++) { + if (fgetword(buf, sizeof(buf), fp) == NULL || + !isflt(buf)) + return(-1); + vec[i] = atof(buf); + } break; case 'f': /* binary float */ if (fread((char *)vf, sizeof(float), 3, fp) != 3)