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

Comparing ray/src/rt/lookamb.c (file contents):
Revision 2.17 by greg, Tue May 14 17:39:10 2019 UTC vs.
Revision 2.18 by greg, Wed Nov 15 18:02:52 2023 UTC

# Line 10 | Line 10 | static const char      RCSid[] = "$Id$";
10   #include  "platform.h"
11   #include  "ray.h"
12   #include  "ambient.h"
13 #include  "resolu.h"
13  
14  
15   int  dataonly = 0;
# Line 26 | Line 25 | lookamb(                       /* load & convert ambient values from a fil
25   )
26   {
27          FVECT   norm, uvec;
28 +        COLOR   avcol;
29  
30          while (readambval(&av, fp)) {
31                  decodedir(norm, av.ndir);
32                  decodedir(uvec, av.udir);
33 +                scolor2rgb(avcol, av.val, AMB_CNDX[3], AMB_WLPART);
34                  if (dataonly) {
35                          printf("%f\t%f\t%f\t", av.pos[0], av.pos[1], av.pos[2]);
36                          printf("%f\t%f\t%f\t", norm[0], norm[1], norm[2]);
37                          printf("%f\t%f\t%f\t", uvec[0], uvec[1], uvec[2]);
38                          printf("%d\t%f\t%f\t%f\t", av.lvl, av.weight,
39                                          av.rad[0], av.rad[1]);
40 <                        printf("%e\t%e\t%e\t", colval(av.val,RED),
41 <                                                colval(av.val,GRN),
42 <                                                colval(av.val,BLU));
40 >                        printf("%e\t%e\t%e\t", colval(avcol,RED),
41 >                                                colval(avcol,GRN),
42 >                                                colval(avcol,BLU));
43                          printf("%f\t%f\t", av.gpos[0], av.gpos[1]);
44                          printf("%f\t%f\t", av.gdir[0], av.gdir[1]);
45                          printf("%u\n", av.corral);
# Line 51 | Line 52 | lookamb(                       /* load & convert ambient values from a fil
52                                          uvec[0], uvec[1], uvec[2]);
53                          printf("Lvl,Wt,UVrad:\t%d\t\t%f\t%f\t%f\n", av.lvl,
54                                          av.weight, av.rad[0], av.rad[1]);
55 <                        printf("Value:\t\t%e\t%e\t%e\n", colval(av.val,RED),
56 <                                        colval(av.val,GRN), colval(av.val,BLU));
55 >                        printf("Value:\t\t%e\t%e\t%e\n", colval(avcol,RED),
56 >                                        colval(avcol,GRN), colval(avcol,BLU));
57                          printf("Pos.Grad:\t%f\t%f\n", av.gpos[0], av.gpos[1]);
58                          printf("Dir.Grad:\t%f\t%f\n", av.gdir[0], av.gdir[1]);
59                          printf("Corral:\t\t%8X\n\n", av.corral);
# Line 69 | Line 70 | writamb(                       /* write binary ambient values to stdout */
70   )
71   {
72          FVECT   norm;
73 +        COLOR   avcol;
74  
75          for ( ; ; ) {
76                  if (!dataonly)
# Line 94 | Line 96 | writamb(                       /* write binary ambient values to stdout */
96                  if (!dataonly)
97                          fscanf(fp, "%*s");
98                  if (fscanf(fp, "%f %f %f",
99 <                                &av.val[RED], &av.val[GRN], &av.val[BLU]) != 3)
99 >                                &avcol[RED], &avcol[GRN], &avcol[BLU]) != 3)
100                          return;
101 +                setscolor(av.val, avcol[RED], avcol[GRN], avcol[BLU]);
102                  if (!dataonly)
103                          fscanf(fp, "%*s");
104                  if (fscanf(fp, "%f %f", &av.gpos[0], &av.gpos[1]) != 2)
# Line 110 | Line 113 | writamb(                       /* write binary ambient values to stdout */
113                  } else if (fscanf(fp, "%*s %X", &av.corral) != 1)
114                          return;
115                  av.next = NULL;
116 <                writambval(&av, stdout);
114 <                if (ferror(stdout))
116 >                if (writambval(&av, stdout) < 0)
117                          exit(1);
118          }
119   }
# Line 153 | Line 155 | main(          /* load ambient values from a file */
155                  return(1);
156          }
157          if (reverse) {
158 +                SET_FILE_BINARY(stdout);
159                  if (header) {
160                          if (checkheader(fp, "ascii", stdout) < 0)
161                                  goto formaterr;
# Line 160 | Line 163 | main(          /* load ambient values from a file */
163                          newheader("RADIANCE", stdout);
164                          printargs(argc, argv, stdout);
165                  }
166 +                fputncomp(3, stdout);
167                  fputformat(AMBFMT, stdout);
168 <                putchar('\n');
165 <                SET_FILE_BINARY(stdout);
168 >                fputc('\n', stdout);
169                  putambmagic(stdout);
170                  writamb(fp);
171          } else {
172                  SET_FILE_BINARY(fp);
173 <                if (checkheader(fp, AMBFMT, header ? stdout : (FILE *)NULL) < 0)
173 >                if (getheader(fp, amb_headline, header ? stdout : (FILE *)NULL) < 0)
174                          goto formaterr;
175                  if (!hasambmagic(fp))
176                          goto formaterr;
177                  if (header) {
178                          fputformat("ascii", stdout);
179 <                        putchar('\n');
179 >                        fputc('\n', stdout);
180                  }
181                  lookamb(fp);
182          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines