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

Comparing ray/src/hd/rhpict2.c (file contents):
Revision 3.3 by gwlarson, Mon Mar 8 14:09:11 1999 UTC vs.
Revision 3.4 by gwlarson, Mon Mar 8 17:34:24 1999 UTC

# Line 205 | Line 205 | pixFlush()                     /* done with beams -- flush pixel values
205          reset_flags();                  /* set occupancy flags */
206          meet_neighbors(kill_occl);      /* eliminate occlusion errors */
207          reset_flags();                  /* reset occupancy flags */
208 <        if (pixWeight[0] <= FTINY) {    /* initialize weighting function */
209 <                register int    i, j, r2;
210 <                double  d;
211 <                for (i = 1; i <= MAXRAD; i++)
212 <                        for (j = 0; j <= i; j++) {
213 <                                r2 = i*i + j*j;
214 <                                if (r2 >= MAXRAD2) break;
215 <                                d = sqrt((double)r2);
216 <                                pixWeight[r2] = G0NORM/d;
217 <                                isqrttab[r2] = d + 0.99;
218 <                        }
219 <                pixWeight[0] = 1.;
220 <                isqrttab[0] = 0;
221 <        }
208 >        if (pixWeight[0] <= FTINY)
209 >                init_wfunc();           /* initialize weighting function */
210          meet_neighbors(grow_samp);      /* grow valid samples over image */
211          free((char *)pixFlags);         /* free pixel flags */
212          pixFlags = NULL;
# Line 227 | Line 215 | pixFlush()                     /* done with beams -- flush pixel values
215  
216   reset_flags()                   /* allocate/set/reset occupancy flags */
217   {
218 <        register int    p;
218 >        register int4   p;
219  
220          if (pixFlags == NULL) {
221                  pixFlags = (int4 *)calloc(FL4NELS(hres*vres), sizeof(int4));
# Line 237 | Line 225 | reset_flags()                  /* allocate/set/reset occupancy flags
225          for (p = hres*vres; p--; )
226                  if (myweight[p] > FTINY)
227                          SET4(pixFlags, p);
228 + }
229 +
230 +
231 + init_wfunc()                    /* initialize weighting function */
232 + {
233 +        register int    i, j;
234 +        register int4   r2;
235 +        register double d;
236 +
237 +        for (i = 1; i <= MAXRAD; i++)
238 +                for (j = 0; j <= i; j++) {
239 +                        r2 = i*i + j*j;
240 +                        if (r2 >= MAXRAD2) break;
241 +                        d = sqrt((double)r2);
242 +                        pixWeight[r2] = G0NORM/d;
243 +                        isqrttab[r2] = d + 0.99;
244 +                }
245 +        pixWeight[0] = 1.;
246 +        isqrttab[0] = 0;
247   }
248  
249  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines