--- ray/src/rt/glass.c 1992/05/20 10:24:26 2.2 +++ ray/src/rt/glass.c 1992/11/30 12:02:54 2.5 @@ -27,11 +27,11 @@ static char SCCSid[] = "$SunId$ LBL"; * 3 red grn blu * * The color is used for the transmission at normal incidence. - * To compute transmission (tn) from transmissivity (Tn) use: + * To compute transmissivity (tn) from transmittance (Tn) use: * * tn = (sqrt(.8402528435+.0072522239*Tn*Tn)-.9166530661)/.0036261119/Tn * - * The transmission of standard 88% transmissivity glass is 0.96. + * The transmissivity of standard 88% transmittance glass is 0.96. * A refractive index other than the default can be used by giving * it as the fourth real argument. The above formula no longer applies. * @@ -46,7 +46,6 @@ m_glass(m, r) /* color a ray which hit a thin glass s OBJREC *m; register RAY *r; { - double sqrt(), pow(); COLOR mcolor; double pdot; FVECT pnorm; @@ -97,7 +96,10 @@ register RAY *r; for (i = 0; i < 3; i++) /* perturb direction */ p.rdir[i] = r->rdir[i] + 2.*(1.-rindex)*r->pert[i]; - normalize(p.rdir); + if (normalize(p.rdir) == 0.0) { + objerror(m, WARNING, "bad perturbation"); + VCOPY(p.rdir, r->rdir); + } } else { VCOPY(p.rdir, r->rdir); transtest = 2;