ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/virtuals.c
(Generate patch)

Comparing ray/src/rt/virtuals.c (file contents):
Revision 1.15 by greg, Wed Jun 26 14:26:52 1991 UTC vs.
Revision 1.16 by greg, Thu Jul 11 16:43:38 1991 UTC

# Line 267 | Line 267 | register int  sn;      /* target source number */
267          FVECT  offsdir;
268          double  or, d;
269          int  infront;
270 <        int  ssn;
270 >        int  stestlim, ssn;
271          int  nhit, nok;
272          register int  i, n;
273                                  /* return if pretesting disabled */
# Line 293 | Line 293 | register int  sn;      /* target source number */
293   #endif
294                                  /* sample */
295          or = sqrt(or2);
296 <        ssn = STESTMAX*n;
296 >        stestlim = n*STESTMAX;
297 >        ssn = 0;
298          nhit = nok = 0;
299          while (n-- > 0) {
300                                          /* get sample point */
301                  do {
302 <                        if (--ssn < 0) {
302 >                        if (ssn >= stestlim) {
303   #ifdef DEBUG
304                                  fprintf(stderr, "\ttoo hard to hit\n");
305   #endif
# Line 306 | Line 307 | register int  sn;      /* target source number */
307                          }
308                          for (i = 0; i < 3; i++)
309                                  offsdir[i] = or*(1. -
310 <                                                2.*urand(931*i+5827+ssn));
310 >                                        2.*urand(urind(931*i+5827,ssn)));
311 >                        ssn++;
312                          for (i = 0; i < 3; i++)
313                                  sr.rorg[i] = oc[i] + offsdir[i];
314                          d = DOT(offsdir,onorm);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines