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

Comparing ray/src/util/ranimove2.c (file contents):
Revision 3.6 by schorsch, Fri Mar 26 21:36:20 2004 UTC vs.
Revision 3.11 by greg, Sun Mar 29 02:55:01 2020 UTC

# Line 4 | Line 4 | static const char      RCSid[] = "$Id$";
4   /*
5   *  ranimove2.c
6   *
7 < *  Frame refinement routines for ranimate(1).
7 > *  Frame refinement routines for ranimove(1).
8   *
9   *  Created by Gregory Ward on Wed Jan 08 2003.
10   */
# Line 26 | Line 26 | static int ray_refine(int      n);
26   static long refine_rays(long    nrays);
27  
28  
29 < extern int
29 > int
30   refine_first(void)                      /* initial refinement pass */
31   {
32          int     *esamp = (int *)zprev;  /* OK to reuse */
# Line 34 | Line 34 | refine_first(void)                     /* initial refinement pass */
34          int     nextra = 0;
35          int     x, y, xp, yp;
36          int     neigh;
37 <        register int    n, np;
37 >        int     n, np;
38  
39          if (sizeof(int) < sizeof(*zprev))
40                  error(CONSISTENCY, "code error in refine_first");
# Line 128 | Line 128 | static void subconspicuity(int x0, int y0, int x1, int
128  
129   static void
130   clr_consp(                      /* initialize a conspicuity sum */
131 <        register struct ConspSum        *cs
131 >        struct ConspSum *cs
132   )
133   {
134          if (cs == NULL)
# Line 143 | Line 143 | clr_consp(                     /* initialize a conspicuity sum */
143  
144   static void
145   sum_consp(              /* sum in conspicuity result */
146 <        register struct ConspSum        *cdest,
147 <        register struct ConspSum        *cs
146 >        struct ConspSum *cdest,
147 >        struct ConspSum *cs
148   )
149   {
150          if ((cdest == NULL) | (cs == NULL))
# Line 165 | Line 165 | est_consp(     /* estimate error conspicuity & update */
165          int     y0,
166          int     x1,
167          int     y1,
168 <        register struct ConspSum        *cs
168 >        struct ConspSum *cs
169   )
170   {
171          double  rad2, mtn2, cpd, vm, vr, csf, eest;
# Line 233 | Line 233 | est_consp(     /* estimate error conspicuity & update */
233                                                  /* worth the bother? */
234          if (eest <= .01)
235                  return;
236 <                                                /* sum into map */
236 >                                                /* put into map */
237          for ( ; y0 < y1; y0++) {
238                  float   *em0 = cerrmap + fndx(x0, y0);
239 <                register float  *emp = em0 + (x1-x0);
239 >                float   *emp = em0 + (x1-x0);
240                  while (emp-- > em0)
241 <                        *emp += eest;
241 >                        if (eest > *emp)
242 >                                *emp = eest;
243          }
244          cerrzero = 0;
245   }
# Line 262 | Line 263 | subconspicuity(        /* compute subportion of conspicuity *
263  
264          if ((x0 == x1-1) & (y0 == y1-1)) {      /* single pixel */
265                  double  hls;
266 <                register int    n = fndx(x0, y0);
266 >                int     n = fndx(x0, y0);
267                  if (sbuffer[n]) {
268                          copycolor(mysum.vsum, cbuffer[n]);
269                          copycolor(mysum.v2sum, val2map[n]);
# Line 309 | Line 310 | subconspicuity(        /* compute subportion of conspicuity *
310          sum_consp(cs, &mysum);
311   }
312  
313 < extern void
313 > void
314   conspicuity(void)                       /* compute conspicuous error map */
315   {
316          int     fhres, fvres;
# Line 374 | Line 375 | ppri_cmp(              /* pixel priority comparison */
375  
376   static int
377   ray_refine(                     /* refine the given pixel by tracing a ray */
378 <        register int    n
378 >        int     n
379   )
380   {
381          RAY     ir;
# Line 395 | Line 396 | ray_refine(                    /* refine the given pixel by tracing a r
396                          return(-1);
397                  if (nprocs > 1) {
398                          int     rval;
399 <                        rayorigin(&ir, NULL, PRIMARY, 1.0);
399 >                        rayorigin(&ir, PRIMARY, NULL, NULL);
400                          ir.rno = n;
401                          rval = ray_pqueue(&ir);
402                          if (!rval)
# Line 462 | Line 463 | refine_rays(           /* compute refinement rays */
463          i = 0;
464                                          /* trace rays in list */
465          for (rdone = 0; rdone < nrays; rdone++) {
466 <                if (ndtset && i >= 1000 && cerrmap[pord[i]] <= FTINY)
466 >                if (ndtset && (i >= 1000) & (i < ntodo) &&
467 >                                cerrmap[pord[i]] <= FTINY)
468                          ntodo = i;
469                  if (i >= ntodo) {       /* redo conspicuity & priority */
470                          while (ray_refine(-1) >= 0)
# Line 485 | Line 487 | refine_rays(           /* compute refinement rays */
487   }
488  
489  
490 < extern int
490 > int
491   refine_frame(           /* refine current frame */
492          int     pass
493   )
# Line 498 | Line 500 | refine_frame(          /* refine current frame */
500          double  time_start, rtime_start, time_done;
501          struct AmbSum   myAmbSum;
502          long    rays_todo, nr;
503 <        register int    n;
503 >        int     n;
504                                          /* IBR refinement? */
505          if ((pass == 0) & (fcur > fbeg))
506                  return(refine_first());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines