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

Comparing ray/src/rt/glass.c (file contents):
Revision 2.1 by greg, Tue Nov 12 17:09:32 1991 UTC vs.
Revision 2.5 by greg, Mon Nov 30 12:02:54 1992 UTC

# Line 27 | Line 27 | static char SCCSid[] = "$SunId$ LBL";
27   *      3 red grn blu
28   *
29   *  The color is used for the transmission at normal incidence.
30 < *  To compute transmission (tn) from transmissivity (Tn) use:
30 > *  To compute transmissivity (tn) from transmittance (Tn) use:
31   *
32   *      tn = (sqrt(.8402528435+.0072522239*Tn*Tn)-.9166530661)/.0036261119/Tn
33   *
34 < *  The transmission of standard 88% transmissivity glass is 0.96.
34 > *  The transmissivity of standard 88% transmittance glass is 0.96.
35   *  A refractive index other than the default can be used by giving
36   *  it as the fourth real argument.  The above formula no longer applies.
37   *
# Line 46 | Line 46 | m_glass(m, r)          /* color a ray which hit a thin glass s
46   OBJREC  *m;
47   register RAY  *r;
48   {
49        double  sqrt(), pow();
49          COLOR  mcolor;
50          double  pdot;
51          FVECT  pnorm;
# Line 95 | Line 94 | register RAY  *r;
94                  if (!(r->crtype & SHADOW) &&
95                                  DOT(r->pert,r->pert) > FTINY*FTINY) {
96                          for (i = 0; i < 3; i++)         /* perturb direction */
97 <                                p.rdir[i] = r->rdir[i] - r->pert[i]/rindex;
98 <                        normalize(p.rdir);
97 >                                p.rdir[i] = r->rdir[i] +
98 >                                                2.*(1.-rindex)*r->pert[i];
99 >                        if (normalize(p.rdir) == 0.0) {
100 >                                objerror(m, WARNING, "bad perturbation");
101 >                                VCOPY(p.rdir, r->rdir);
102 >                        }
103                  } else {
104                          VCOPY(p.rdir, r->rdir);
105                          transtest = 2;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines