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.13 by greg, Tue Mar 7 12:18:15 1995 UTC vs.
Revision 2.14 by greg, Thu Apr 13 14:43:33 1995 UTC

# Line 46 | Line 46 | char   *argv[];
46          mg_ehand[MG_E_ED] = c_hmaterial;
47          mg_ehand[MG_E_FACE] = r_face;
48          mg_ehand[MG_E_IES] = r_ies;
49 +        mg_ehand[MG_E_IR] = c_hmaterial;
50          mg_ehand[MG_E_MATERIAL] = c_hmaterial;
51          mg_ehand[MG_E_NORMAL] = c_hvertex;
52          mg_ehand[MG_E_OBJECT] = obj_handler;
# Line 446 | Line 447 | material()                     /* get (and print) current material */
447                          c_cmaterial->rs + c_cmaterial->ts;
448          if (d < 0. | d > 1.)
449                  return(NULL);
450 +                                        /* check for glass/dielectric */
451 +        if (c_cmaterial->nr > 1.1 &&
452 +                        c_cmaterial->ts > .25 && c_cmaterial->rs <= .125 &&
453 +                        c_cmaterial->td <= .01 && c_cmaterial->rd <= .01 &&
454 +                        c_cmaterial->rs_a <= .01 && c_cmaterial->ts_a <= .01) {
455 +                cvtcolor(radrgb, &c_cmaterial->ts_c,
456 +                                c_cmaterial->ts + c_cmaterial->rs);
457 +                if (c_cmaterial->sided) {               /* dielectric */
458 +                        colval(radrgb,RED) = pow(colval(radrgb,RED),
459 +                                                        1./C_1SIDEDTHICK);
460 +                        colval(radrgb,GRN) = pow(colval(radrgb,GRN),
461 +                                                        1./C_1SIDEDTHICK);
462 +                        colval(radrgb,BLU) = pow(colval(radrgb,BLU),
463 +                                                        1./C_1SIDEDTHICK);
464 +                        fprintf(matfp, "\nvoid dielectric %s\n0\n0\n", mname);
465 +                        fprintf(matfp, "5 %g %g %g %f 0\n", colval(radrgb,RED),
466 +                                        colval(radrgb,GRN), colval(radrgb,BLU),
467 +                                        c_cmaterial->nr);
468 +                        return(mname);
469 +                }
470 +                                                        /* glass */
471 +                fprintf(matfp, "\nvoid glass %s\n0\n0\n", mname);
472 +                fprintf(matfp, "4 %f %f %f %f\n", colval(radrgb,RED),
473 +                                colval(radrgb,GRN), colval(radrgb,BLU),
474 +                                c_cmaterial->nr);
475 +                return(mname);
476 +                }
477                                          /* check for trans */
478          if (c_cmaterial->td > .01 || c_cmaterial->ts > .01) {
479                  double  ts, a5, a6;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines