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

Comparing ray/src/rt/rv3.c (file contents):
Revision 2.27 by greg, Fri Sep 5 19:45:41 2008 UTC vs.
Revision 2.28 by greg, Fri Sep 5 21:34:09 2008 UTC

# Line 381 | Line 381 | compavg(                               /* recompute averages */
381          PNODE   *p
382   )
383   {
384 +        int     i, navg;
385 +        
386          if (p->kid == NULL)
387                  return;
388 <        compavg(p->kid+DL);
387 <        compavg(p->kid+DR);
388 <        compavg(p->kid+UL);
389 <        compavg(p->kid+UR);
388 >
389          setcolor(p->v, .0, .0, .0);
390 <        addcolor(p->v, p->kid[DL].v);
391 <        addcolor(p->v, p->kid[DR].v);
392 <        addcolor(p->v, p->kid[UL].v);
393 <        addcolor(p->v, p->kid[UR].v);
394 <        scalecolor(p->v, 0.25);
390 >        navg = 0;
391 >        for (i = 0; i < 4; i++) {
392 >                if (p->kid[i].xmin >= p->kid[i].xmax) continue;
393 >                if (p->kid[i].ymin >= p->kid[i].ymax) continue;
394 >                compavg(p->kid+i);
395 >                addcolor(p->v, p->kid[i].v);
396 >                navg++;
397 >        }
398 >        if (navg > 1)
399 >                scalecolor(p->v, 1./navg);
400   }
401  
402  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines