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

Comparing ray/src/gen/gensky.c (file contents):
Revision 2.27 by greg, Thu Nov 7 23:15:07 2019 UTC vs.
Revision 2.31 by greg, Fri Jun 6 19:11:21 2025 UTC

# Line 10 | Line 10 | static const char      RCSid[] = "$Id$";
10   *     3/26/86
11   */
12  
13 < #include  <stdio.h>
13 > #include  "rtio.h"
14 > #include  "paths.h"
15   #include  <stdlib.h>
15 #include  <string.h>
16   #include  <math.h>
17   #include  <ctype.h>
18   #include  "sun.h"
# Line 78 | Line 78 | double  F2;
78   double  solarbr = 0.0;
79   int     u_solar = 0;                            /* -1=irradiance, 1=radiance */
80  
81 char  *progname;
81   char  errmsg[128];
82  
83   void computesky(void);
# Line 87 | Line 86 | void printdefaults(void);
86   void userror(char  *msg);
87   double normsc(void);
88   int cvthour(char  *hs);
90 void printhead(int  ac, char  **av);
89  
90  
91   int
# Line 99 | Line 97 | main(
97          int  got_meridian = 0;
98          int  i;
99  
100 <        progname = argv[0];
100 >        fixargv0(argv[0]);
101          if (argc == 2 && !strcmp(argv[1], "-defaults")) {
102                  printdefaults();
103                  exit(0);
# Line 184 | Line 182 | main(
182          "%s: warning - %.1f hours btwn. standard meridian and longitude\n",
183                          progname, (s_longitude-s_meridian)*12/PI);
184  
185 <        printhead(argc, argv);
185 >        fputs("# ", stdout);
186 >        printargs(argc, argv, stdout);
187  
188          computesky();
189          printsky();
# Line 270 | Line 269 | computesky(void)                       /* compute sky parameters */
269          printf("# Ground ambient level: %.1f\n", groundbr);
270          if (!overcast && sundir[2] > 0.0 && (!u_solar || solarbr > 0.0)) {
271                  if (u_solar == -1)
272 <                        solarbr /= 6e-5*sundir[2];
272 >                        solarbr /= 5.98e-5*sundir[2];
273                  else if (u_solar == 0) {
274                          solarbr = 1.5e9/SUNEFFICACY *
275                          (1.147 - .147/(sundir[2]>.16?sundir[2]:.16));
# Line 290 | Line 289 | printsky(void)                 /* print out sky */
289          if (dosun) {
290                  printf("\nvoid light solar\n");
291                  printf("0\n0\n");
292 <                printf("3 %.2e %.2e %.2e\n", solarbr, solarbr, solarbr);
292 >                printf("3 %.3e %.3e %.3e\n", solarbr, solarbr, solarbr);
293                  printf("\nsolar source sun\n");
294                  printf("0\n0\n");
295                  printf("4 %f %f %f 0.5\n", sundir[0], sundir[1], sundir[2]);
# Line 300 | Line 299 | printsky(void)                 /* print out sky */
299          printf("2 skybr skybright.cal\n");
300          printf("0\n");
301          if (overcast)
302 <                printf("3 %d %.2e %.2e\n", skytype, zenithbr, groundbr);
302 >                printf("3 %d %.3e %.3e\n", skytype, zenithbr, groundbr);
303          else
304 <                printf("7 %d %.2e %.2e %.2e %f %f %f\n",
304 >                printf("7 %d %.3e %.3e %.3e %f %f %f\n",
305                                  skytype, zenithbr, groundbr, F2,
306                                  sundir[0], sundir[1], sundir[2]);
307   }
# Line 419 | Line 418 | cvthour(                       /* convert hour string */
418                  fprintf(stderr, " %s", tzone[i].zname);
419          putc('\n', stderr);
420          exit(1);
422 }
423
424
425 void
426 printhead(              /* print command header */
427        int  ac,
428        char  **av
429 )
430 {
431        putchar('#');
432        while (ac--) {
433                putchar(' ');
434                fputs(*av++, stdout);
435        }
436        putchar('\n');
421   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines