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

Comparing ray/src/rt/source.c (file contents):
Revision 2.11 by greg, Tue Apr 6 17:55:51 1993 UTC vs.
Revision 2.12 by greg, Wed Aug 18 00:19:05 1993 UTC

# Line 371 | Line 371 | static int weaksrcmod(obj) int obj;    /* efficiency boos
371   return(o->otype==MAT_ILLUM|o->otype==MAT_GLOW);}
372  
373   #define  illumblock(m, r)       (!(source[r->rsrc].sflags&SVIRTUAL) && \
374 +                                r->rod > 0.0 && \
375                                  weaksrcmod(source[r->rsrc].so->omod))
376  
377   /* wrongsource *
# Line 407 | Line 408 | return(o->otype==MAT_ILLUM|o->otype==MAT_GLOW);}
408                                  !(r->crtype&SHADOW || r->rod < 0.0 || \
409                                          distglow(m, r)))
410  
410 /* overcount *
411 *
412 * All overcounting possibilities are contained here.
413 */
414
415 #define  overcount(m, r)        (badcomponent(m,r) || wrongsource(m,r))
416
411   /* passillum *
412   *
413   * An illum passes to another material type when we didn't hit it
# Line 439 | Line 433 | register OBJREC  *m;
433   register RAY  *r;
434   {
435                                                  /* check for over-counting */
436 <        if (overcount(m, r))
436 >        if (badcomponent(m, r))
437 >                return;
438 >        if (wrongsource(m,r))
439                  return;
440                                                  /* check for passed illum */
441          if (passillum(m, r)) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines