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.19 by greg, Tue Jul 30 18:23:45 1991 UTC vs.
Revision 1.20 by greg, Fri Aug 2 10:30:27 1991 UTC

# Line 199 | Line 199 | MAT4  pm;
199                  if (source[sn].sflags & SFLAT) {        /* behind source? */
200                          multv3(nsnorm, source[sn].snorm, pm);
201                          normalize(nsnorm);
202 <                        if (!checkspot(&ourspot, nsnorm))
202 >                        if (nsflags & SSPOT && !checkspot(&ourspot, nsnorm))
203                                  return(-1);
204                  }
205          }
# Line 291 | Line 291 | register int  sn;      /* target source number */
291          } else {
292                  for (i = 0; i < 3; i++)
293                          offsdir[i] = source[sn].sloc[i] - oc[i];
294 <                n = or2/DOT(offsdir,offsdir)*vspretest + .5;
294 >                d = DOT(offsdir,offsdir);
295 >                if (d <= FTINY)
296 >                        n = 2.*PI * vspretest + .5;
297 >                else
298 >                        n = 2.*PI * (1.-sqrt(1./(1.+or2/d)))*vspretest + .5;
299                  infront = DOT(onorm, offsdir) > 0.;
300          }
301          if (n < MINSAMPLES) n = MINSAMPLES;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines