--- ray/src/rt/dielectric.c 2005/04/19 01:15:06 2.20 +++ ray/src/rt/dielectric.c 2010/09/26 15:51:15 2.21 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: dielectric.c,v 2.20 2005/04/19 01:15:06 greg Exp $"; +static const char RCSid[] = "$Id: dielectric.c,v 2.21 2010/09/26 15:51:15 greg Exp $"; #endif /* * dielectric.c - shading function for transparent materials. @@ -180,7 +180,8 @@ m_dielectric( /* color a ray which hit a dielectric in p.rdir[i] = nratio*r->rdir[i] + d1*r->ron[i]; normalize(p.rdir); /* not exact */ - } + } else + checknorm(p.rdir); #ifdef DISPERSE if (m->otype != MAT_DIELECTRIC || r->rod > 0.0 @@ -218,7 +219,7 @@ m_dielectric( /* color a ray which hit a dielectric in if (hastexture && DOT(p.rdir,r->ron)*hastexture <= FTINY) for (i = 0; i < 3; i++) /* ignore texture */ p.rdir[i] = r->rdir[i] + 2.0*r->rod*r->ron[i]; - + checknorm(p.rdir); rayvalue(&p); /* reflected ray value */ multcolor(p.rcol, p.rcoef); /* color contribution */