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

Comparing ray/src/gen/mkillum3.c (file contents):
Revision 1.5 by greg, Fri Aug 23 12:30:35 1991 UTC vs.
Revision 1.6 by greg, Mon Aug 26 10:16:59 1991 UTC

# Line 10 | Line 10 | static char SCCSid[] = "$SunId$ LBL";
10  
11   #include  "mkillum.h"
12  
13 < #define  brt(col)       (.295*(col)[0] + .636*(col)[1] + .070*(col)[2])
13 > #define  brt(col)       (.295*(col)[0] + .635*(col)[1] + .070*(col)[2])
14  
15   char    DATORD[] = "RGB";               /* data ordering */
16   char    DATSUF[] = ".dat";              /* data file suffix */
# Line 102 | Line 102 | FVECT  u, v, w;
102                  printf("\n9 red green blue");
103                  for (i = 0; i < 3; i++) {
104                          dfp = dfopen(il, DATORD[i]);
105 <                        fprintf(dfp, "2\n1 0 %d\n0 %f %d\n", n, 2.*PI, m);
106 <                        colorout(i, da, n*m, 1./il->nsamps/il->col[i], dfp);
105 >                        fprintf(dfp, "2\n%f %f %d\n%f %f %d\n",
106 >                                        1.-.5/n, .5/n, n,
107 >                                        0., 2.*PI, m+1);
108 >                        colorout(i, da, n, m, 1./il->nsamps/il->col[i], dfp);
109                          fclose(dfp);
110                          printf(" %s", dfname(il, DATORD[i]));
111                  }
# Line 112 | Line 114 | FVECT  u, v, w;
114                                  il->matname, DSTSUF);
115                  printf("\n5 noop");
116                  dfp = dfopen(il, 0);
117 <                fprintf(dfp, "2\n1 0 %d\n0 %f %d\n", n, 2.*PI, m);
118 <                brightout(da, n*m, 1./il->nsamps/brt(il->col), dfp);
117 >                fprintf(dfp, "2\n%f %f %d\n%f %f %d\n", 1.-.5/n, .5/n, n,
118 >                                0., 2.*PI, m+1);
119 >                brightout(da, n, m, 1./il->nsamps/brt(il->col), dfp);
120                  fclose(dfp);
121                  printf(" %s", dfname(il, 0));
122          }
# Line 140 | Line 143 | int  n, m;
143                  printf("\n9 red green blue");
144                  for (i = 0; i < 3; i++) {
145                          dfp = dfopen(il, DATORD[i]);
146 <                        fprintf(dfp, "2\n1 -1 %d\n0 %f %d\n", n, 2.*PI, m);
147 <                        colorout(i, da, n*m, 1./il->nsamps/il->col[i], dfp);
146 >                        fprintf(dfp, "2\n%f %f %d\n%f %f %d\n",
147 >                                        1.-1./n, -1.+1./n, n,
148 >                                        0., 2.*PI, m+1);
149 >                        colorout(i, da, n, m, 1./il->nsamps/il->col[i], dfp);
150                          fclose(dfp);
151                          printf(" %s", dfname(il, DATORD[i]));
152                  }
# Line 150 | Line 155 | int  n, m;
155                                  il->matname, DSTSUF);
156                  printf("\n5 noop");
157                  dfp = dfopen(il, 0);
158 <                fprintf(dfp, "2\n1 -1 %d\n0 %f %d\n", n, 2.*PI, m);
159 <                brightout(da, n*m, 1./il->nsamps/brt(il->col), dfp);
158 >                fprintf(dfp, "2\n%f %f %d\n%f %f %d\n", 1.-1./n, -1.+1./n, n,
159 >                                0., 2.*PI, m+1);
160 >                brightout(da, n, m, 1./il->nsamps/brt(il->col), dfp);
161                  fclose(dfp);
162                  printf(" %s", dfname(il, 0));
163          }
# Line 207 | Line 213 | int  n;
213          for (i = 0; i < 3; i++)
214                  il->col[i] /= (double)n*il->nsamps;
215  
216 <        return(brt(il->col) >= il->minbrt);
216 >        return(brt(il->col) > il->minbrt+FTINY);
217   }
218  
219  
220 < colorout(p, da, n, mult, fp)    /* put out color distribution data */
220 > static int      colmcnt = 0;    /* count of columns written */
221 >
222 > fputnum(d, fp)                  /* put out a number to fp */
223 > double  d;
224 > FILE  *fp;
225 > {
226 >        if (colmcnt++ % 6 == 0)
227 >                putc('\n', fp);
228 >        fprintf(fp, " %11e", d);
229 > }
230 >
231 >
232 > fputeol(fp)                     /* write end of line to fp */
233 > register FILE  *fp;
234 > {
235 >        putc('\n', fp);
236 >        colmcnt = 0;
237 > }
238 >
239 >
240 > colorout(p, da, n, m, mult, fp) /* put out color distribution data */
241   int  p;
242   register float  *da;
243 < int  n;
243 > int  n, m;
244   double  mult;
245   FILE  *fp;
246   {
247 <        register int  i;
247 >        register int  i, j;
248  
249          for (i = 0; i < n; i++) {
250 <                if (i%6 == 0)
251 <                        putc('\n', fp);
252 <                fprintf(fp, " %11e", mult*da[p]);
253 <                da += 3;
250 >                for (j = 0; j < m; j++) {
251 >                        fputnum(mult*da[p], fp);
252 >                        da += 3;
253 >                }
254 >                fputnum(mult*da[p-3*m], fp);    /* wrap phi */
255          }
256 <        putc('\n', fp);
256 >        fputeol(fp);
257   }
258  
259  
260 < brightout(da, n, mult, fp)      /* put out brightness distribution data */
260 > brightout(da, n, m, mult, fp)   /* put out brightness distribution data */
261   register float  *da;
262 < int  n;
262 > int  n, m;
263   double  mult;
264   FILE  *fp;
265   {
266 <        register int  i;
266 >        register int  i, j;
267  
268          for (i = 0; i < n; i++) {
269 <                if (i%6 == 0)
270 <                        putc('\n', fp);
271 <                fprintf(fp, " %11e", mult*brt(da));
272 <                da += 3;
269 >                for (j = 0; j < m; j++) {
270 >                        fputnum(mult*brt(da), fp);
271 >                        da += 3;
272 >                }
273 >                fputnum(mult*brt(da-3*m), fp);  /* wrap phi */
274          }
275 <        putc('\n', fp);
275 >        fputeol(fp);
276   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines