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

Comparing ray/src/hd/rhd_odraw.c (file contents):
Revision 3.6 by gwlarson, Wed Dec 23 17:42:24 1998 UTC vs.
Revision 3.10 by gwlarson, Thu Dec 24 16:18:45 1998 UTC

# Line 466 | Line 466 | int    vn;
466                          CLR4(odS.redraw, i);
467                  }
468   #else
469 <                                        /* redraw samples at each end */
470 <        for (i = odView[vn].sfirst; i < odView[vn].sfirst+31; i++)
471 <                if (CHK4(odS.redraw, i)) {
472 <                        odDrawSamp(vn, i);
473 <                        CLR4(odS.redraw, i);
474 <                }
469 >                                        /* redraw samples at end */
470          for (i = odView[vn].snext-31; i < odView[vn].snext; i++)
471                  if (CHK4(odS.redraw, i)) {
472                          odDrawSamp(vn, i);
# Line 484 | Line 479 | int    vn;
479                                  odDrawSamp(vn, (j<<5)+i);
480                                  odS.redraw[j] &= ~(1L<<i);
481                          }
482 +                                        /* redraw samples at beginning */
483 +        for (i = odView[vn].sfirst; i < odView[vn].sfirst+31; i++)
484 +                if (CHK4(odS.redraw, i)) {
485 +                        odDrawSamp(vn, i);
486 +                        CLR4(odS.redraw, i);
487 +                }
488   #endif
489   }
490  
# Line 530 | Line 531 | double sz;
531          register int    i;
532  
533          DCHECK(sz > 1, CONSISTENCY, "super-unary size in make_arms");
534 <        na = MAXFAN*sz*sz + 0.5;                /* keep area constant */
534 >        na = MAXFAN*sz + 0.5;                   /* keep arc length constant */
535          if (na < MINFAN) na = MINFAN;
536          hrad = FANSIZE*sz*vp->hhi/vp->hlow;
537          vrad = FANSIZE*sz*vp->vhi/vp->vlow;
# Line 591 | Line 592 | register struct ODview *vp;
592          n = rise + run;
593          while (n--)                     /* run out arm, checking depth */
594                  if (run2 > rise2) {
594                        if (depthchange(vp, x, y, x+xstep, y))
595                                break;
595                          x += xstep;
596                          rise2 += rise;
597 <                } else {
599 <                        if (depthchange(vp, x, y, x, y+ystep))
597 >                        if (depthchange(vp, x-xstep, y, x, y))
598                                  break;
599 +                } else {
600                          y += ystep;
601                          run2 += run;
602 +                        if (depthchange(vp, x, y-ystep, x, y))
603 +                                break;
604                  }
605          if (n < 0)                      /* found something? */
606                  return;
# Line 628 | Line 629 | blockedge(vp, bi0, bi1)                        /* check for edge between bl
629   register struct ODview  *vp;
630   register int    bi0, bi1;
631   {
632 +        if (bi1 == bi0)
633 +                return(0);              /* same block */
634          if (bi1 < 0)
635                  return(1);              /* end off view */
636          if (CHK4(vp->emap, bi1))
637 <                return(1);              /* end has edges */
637 >                return(1);              /* end block has edges */
638          if (bi1 == bi0+1 || bi1 == bi0-1 ||
639                          bi1 == bi0+vp->hlow || bi1 == bi0-vp->hlow)
640                  return(0);              /* end in adjacent block -- no edges */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines