--- ray/src/rt/glass.c 1992/10/02 16:17:31 2.3 +++ ray/src/rt/glass.c 1993/08/24 12:59:24 2.6 @@ -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. * @@ -68,6 +68,7 @@ register RAY *r; if (r->rod < 0.0) /* reorient if necessary */ flipsurface(r); transtest = 0; + transdist = r->rot; /* get modifiers */ raytexture(r, m->omod); pdot = raynormal(pnorm, r); @@ -96,7 +97,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;