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

Comparing ray/src/hd/rhcopy.c (file contents):
Revision 3.27 by greg, Fri May 20 02:06:39 2011 UTC vs.
Revision 3.32 by greg, Mon Oct 21 18:19:32 2019 UTC

# Line 97 | Line 97 | userr:
97  
98   static int
99   holheadline(            /* check holodeck header line */
100 <        register char   *s,
100 >        char    *s,
101          void    *vhf
102   )
103   {
104 <        char    fmt[32];
104 >        char    fmt[MAXFMTLEN];
105          int     *hf = vhf;
106  
107          if (formatval(fmt, s)) {
# Line 137 | Line 137 | openholo(              /* open existing holodeck file for i/o */
137          off_t   nextloc;
138          int     n;
139                                          /* open holodeck file */
140 <        if ((fp = fopen(fname, append ? "r+" : "r")) == NULL) {
140 >        if ((fp = fopen(fname, append ? "rb+" : "rb")) == NULL) {
141                  sprintf(errmsg, "cannot open \"%s\" for %s", fname,
142                                  append ? "appending" : "reading");
143                  error(SYSTEM, errmsg);
# Line 174 | Line 174 | addray(                /* add a ray to our output holodeck */
174   )
175   {
176          int     sn, bi, n;
177 <        register HOLO   *hp;
177 >        HOLO    *hp;
178          GCOORD  gc[2];
179          uby8    rr[2][2];
180          BEAM    *bp;
181          double  d0, d1;
182          unsigned        dc;
183 <        register RAYVAL *rv;
183 >        RAYVAL  *rv;
184                                  /* check each output section */
185          for (sn = noutsects; sn--; ) {
186                  hp = hdlist[sn];
# Line 223 | Line 223 | bpcmp(                 /* compare beam positions on disk */
223          const void      *b2p
224   )
225   {
226 <        register off_t  pdif = beamdir[*(int*)b1p].fo - beamdir[*(int*)b2p].fo;
226 >        off_t   pdif = beamdir[*(int*)b1p].fo - beamdir[*(int*)b2p].fo;
227  
228          if (pdif > 0L) return(1);
229          if (pdif < 0L) return(-1);
# Line 241 | Line 241 | addclump(              /* transfer the given clump and free */
241          FVECT   ro, rd;
242          double  d;
243          int     i;
244 <        register int    k;
245 <        register BEAM   *bp;
244 >        int     k;
245 >        BEAM    *bp;
246                                          /* sort based on file position */
247          beamdir = hp->bi;
248          qsort((char *)bq, nb, sizeof(*bq), bpcmp);
# Line 334 | Line 334 | addpicz(               /* add a picture + depth-buffer */
334          double  aftd;
335          COLOR   ctmp;
336          int     j;
337 <        register int    i;
337 >        int     i;
338                                  /* open files */
339 <        if ((pfp = fopen(pcf, "r")) == NULL) {
339 >        if ((pfp = fopen(pcf, "rb")) == NULL) {
340                  sprintf(errmsg, "cannot open picture file \"%s\"", pcf);
341                  error(SYSTEM, pcf);
342          }
# Line 344 | Line 344 | addpicz(               /* add a picture + depth-buffer */
344                  sprintf(errmsg, "cannot open depth file \"%s\"", zbf);
345                  error(SYSTEM, pcf);
346          }
347 +        SET_FD_BINARY(zfd);
348                                  /* load picture header */
349          phd.vw = stdview;
350          phd.expos = 1.0;
# Line 359 | Line 360 | addpicz(               /* add a picture + depth-buffer */
360                  error(USER, errmsg);
361          }
362          if (phd.altprims) {
363 <                sprintf(errmsg, "ignoring primary values in picture \"%s\"",
363 >                sprintf(errmsg, "ignoring color primaries in picture \"%s\"",
364                                  pcf);
365                  error(WARNING, errmsg);
366          }
# Line 392 | Line 393 | addpicz(               /* add a picture + depth-buffer */
393                  }
394                  if (eshft)                              /* shift exposure */
395                          shiftcolrs(cscn, i, eshft);
396 <                i *= sizeof(float);                     /* read depth */
397 <                if (read(zfd, (char *)zscn, i) != i) {
396 >                                                        /* read depth */
397 >                if (read(zfd, zscn, i*sizeof(float)) != i*sizeof(float)) {
398                          sprintf(errmsg, "error reading depth file \"%s\"", zbf);
399                          error(USER, errmsg);
400                  }
401 <                for (i = scanlen(&prs); i--; ) {        /* do each pixel */
401 >                while (i--) {                           /* process each pixel */
402 >                        if (zscn[i] <= 0.0)
403 >                                continue;               /* illegal depth */
404                          pix2loc(vl, &prs, i, j);
405                          aftd = viewray(ro, rd, &phd.vw, vl[0], vl[1]);
406                          if (aftd < -FTINY)
# Line 425 | Line 428 | addpicz(               /* add a picture + depth-buffer */
428  
429   void
430   eputs(                  /* put error message to stderr */
431 <        register char  *s
431 >        char  *s
432   )
433   {
434          static int  midline = 0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines