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

Comparing ray/src/cv/mgf2rad.c (file contents):
Revision 2.10 by greg, Thu Jul 21 17:23:43 1994 UTC vs.
Revision 2.11 by greg, Fri Aug 26 12:54:24 1994 UTC

# Line 23 | Line 23 | double glowdist = FHUGE;               /* glow test distance */
23  
24   double  emult = 1.;                     /* emitter multiplier */
25  
26 + FILE    *matfp = stdout;                /* material output file */
27 +
28   int     r_comment(), r_cone(), r_cyl(), r_face(), r_ies(), r_ring(), r_sph();
29   char    *material(), *object(), *addarg();
30  
# Line 74 | Line 76 | char   *argv[];
76                          emult = atof(argv[++i]);
77                          printf(" %s", argv[i]);
78                          break;
79 +                case 'm':                       /* materials file */
80 +                        matfp = fopen(argv[++i], "a");
81 +                        if (matfp == NULL) {
82 +                                fprintf(stderr, "%s: cannot append\n", argv[i]);
83 +                                exit(1);
84 +                        }
85 +                        printf(" %s", argv[i]);
86 +                        break;
87                  default:
88                          goto userr;
89                  }
# Line 91 | Line 101 | char   *argv[];
101                  }
102          exit(0);
103   userr:
104 <        fprintf(stderr, "Usage: %s [-g dist][-m mult] [file.mgf] ..\n",
104 >        fprintf(stderr, "Usage: %s [-g dist][-e mult][-m matf] [file.mgf] ..\n",
105                          argv[0]);
106          exit(1);
107   }
# Line 419 | Line 429 | material()                     /* get (and print) current material */
429                  cvtcolor(radrgb, &c_cmaterial->ed_c,
430                                  emult*c_cmaterial->ed/WHTEFFICACY);
431                  if (glowdist < FHUGE) {         /* do a glow */
432 <                        printf("\nvoid glow %s\n0\n0\n", mname);
433 <                        printf("4 %f %f %f %f\n", colval(radrgb,RED),
432 >                        fprintf(matfp, "\nvoid glow %s\n0\n0\n", mname);
433 >                        fprintf(matfp, "4 %f %f %f %f\n", colval(radrgb,RED),
434                                          colval(radrgb,GRN),
435                                          colval(radrgb,BLU), glowdist);
436                  } else {
437 <                        printf("\nvoid light %s\n0\n0\n", mname);
438 <                        printf("3 %f %f %f\n", colval(radrgb,RED),
437 >                        fprintf(matfp, "\nvoid light %s\n0\n0\n", mname);
438 >                        fprintf(matfp, "3 %f %f %f\n", colval(radrgb,RED),
439                                          colval(radrgb,GRN),
440                                          colval(radrgb,BLU));
441                  }
# Line 464 | Line 474 | material()                     /* get (and print) current material */
474                  else
475                          d = c_cmaterial->td + ts;
476                  scalecolor(radrgb, d);
477 <                printf("\nvoid trans %s\n0\n0\n", mname);
478 <                printf("7 %f %f %f\n", colval(radrgb,RED),
477 >                fprintf(matfp, "\nvoid trans %s\n0\n0\n", mname);
478 >                fprintf(matfp, "7 %f %f %f\n", colval(radrgb,RED),
479                                  colval(radrgb,GRN), colval(radrgb,BLU));
480 <                printf("\t%f %f %f %f\n", c_cmaterial->rs, a5, a6,
480 >                fprintf(matfp, "\t%f %f %f %f\n", c_cmaterial->rs, a5, a6,
481                                  ts/(ts + c_cmaterial->td));
482                  return(mname);
483          }
# Line 476 | Line 486 | material()                     /* get (and print) current material */
486                                          c_isgrey(&c_cmaterial->rs_c))) {
487                  cvtcolor(radrgb, &c_cmaterial->rd_c,
488                                          c_cmaterial->rd/(1.-c_cmaterial->rs));
489 <                printf("\nvoid plastic %s\n0\n0\n", mname);
490 <                printf("5 %f %f %f %f %f\n", colval(radrgb,RED),
489 >                fprintf(matfp, "\nvoid plastic %s\n0\n0\n", mname);
490 >                fprintf(matfp, "5 %f %f %f %f %f\n", colval(radrgb,RED),
491                                  colval(radrgb,GRN), colval(radrgb,BLU),
492                                  c_cmaterial->rs, c_cmaterial->rs_a);
493                  return(mname);
# Line 487 | Line 497 | material()                     /* get (and print) current material */
497          cvtcolor(radrgb, &c_cmaterial->rd_c, c_cmaterial->rd);
498          cvtcolor(c2, &c_cmaterial->rs_c, c_cmaterial->rs);
499          addcolor(radrgb, c2);
500 <        printf("\nvoid metal %s\n0\n0\n", mname);
501 <        printf("5 %f %f %f %f %f\n", colval(radrgb,RED),
500 >        fprintf(matfp, "\nvoid metal %s\n0\n0\n", mname);
501 >        fprintf(matfp, "5 %f %f %f %f %f\n", colval(radrgb,RED),
502                          colval(radrgb,GRN), colval(radrgb,BLU),
503                          c_cmaterial->rs/(c_cmaterial->rd + c_cmaterial->rs),
504                          c_cmaterial->rs_a);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines