--- ray/src/rt/rv3.c 2008/08/22 17:39:26 2.24 +++ ray/src/rt/rv3.c 2008/08/28 23:50:39 2.25 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rv3.c,v 2.24 2008/08/22 17:39:26 greg Exp $"; +static const char RCSid[] = "$Id: rv3.c,v 2.25 2008/08/28 23:50:39 greg Exp $"; #endif /* * rv3.c - miscellaneous routines for rview. @@ -185,6 +185,18 @@ paint( /* compute and paint a rectangle */ copycolor(p->v, thisray.rcol); scalecolor(p->v, exposure); + + while (p->kid != NULL) { /* need to propogate down */ + int mx = (p->xmin + p->xmax) >> 1; + int my = (p->ymin + p->ymax) >> 1; + int ki; + if (p->x >= mx) + ki = (p->y >= my) ? UR : DR; + else + ki = (p->y >= my) ? UL : DL; + pcopy(p, p->kid+ki); + p = p->kid + ki; + } (*dev->paintr)(greyscale?greyof(p->v):p->v, p->xmin, p->ymin, p->xmax, p->ymax);