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

Comparing ray/src/rt/rv2.c (file contents):
Revision 1.26 by greg, Mon Aug 26 10:12:02 1991 UTC vs.
Revision 1.30 by greg, Mon Oct 21 13:30:43 1991 UTC

# Line 22 | Line 22 | static char SCCSid[] = "$SunId$ LBL";
22  
23   #define  CTRL(c)        ('c'-'@')
24  
25 + extern char  VersionID[];
26   extern char  *progname;
27 + extern char  *octname;
28  
29  
30   getframe(s)                             /* get a new frame */
# Line 382 | Line 384 | register char  *s;
384          extern int  ambssamp;
385          extern int  ambounce;
386          extern int  directinvis;
387 +        extern double  srcsizerat;
388          extern int  do_irrad;
389          char  buf[128];
390          
# Line 419 | Line 422 | register char  *s;
422                          getparam(s+2, "direct invisibility",
423                                          'b', &directinvis);
424                          break;
425 +                case 's':                       /* sampling */
426 +                        getparam(s+2, "direct sampling", 'r', &srcsizerat);
427 +                        break;
428                  default:
429                          goto badparam;
430                  }
# Line 564 | Line 570 | char  *s;
570                                                  /* write header */
571          fputs(progname, fp);
572          fprintview(&ourview, fp);
573 <        putc('\n', fp);
573 >        if (octname != NULL)
574 >                fprintf(fp, " %s\n", octname);
575 >        else
576 >                putc('\n', fp);
577 >        fprintf(fp, "SOFTWARE= %s\n", VersionID);
578          if (exposure != 1.0)
579                  fputexpos(exposure, fp);
580          if (dev->pixaspect != 1.0)
# Line 574 | Line 584 | char  *s;
584          fputresolu(YMAJOR|YDECR, hresolu, vresolu, fp);
585  
586          scanline = (COLR *)malloc(hresolu*sizeof(COLR));
587 <        if (scanline == NULL)
588 <                error(SYSTEM, "out of memory in writepict");
587 >        if (scanline == NULL) {
588 >                error(COMMAND, "not enough memory!");
589 >                fclose(fp);
590 >                unlink(fname);
591 >                return;
592 >        }
593          for (y = vresolu-1; y >= 0; y--) {
594                  getpictcolrs(y, scanline, &ptrunk, hresolu, vresolu);
595                  if (fwritecolrs(scanline, hresolu, fp) < 0)
596                          break;
597          }
598 +        free((char *)scanline);
599          if (fclose(fp) < 0)
600                  error(COMMAND, "write error");
586        free((char *)scanline);
601   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines