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 1.12 by greg, Tue Oct 29 16:36:44 1991 UTC vs.
Revision 2.4 by greg, Wed Oct 14 12:27:47 1992 UTC

# 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