--- ray/src/rt/m_brdf.c 1993/08/12 17:50:40 2.7 +++ ray/src/rt/m_brdf.c 1994/01/12 16:46:35 2.10 @@ -197,7 +197,6 @@ register RAY *r; double transtest, transdist; int hasrefl, hastrans; COLOR ctmp; - double dtmp; register MFUNC *mf; register int i; /* check arguments */ @@ -242,6 +241,7 @@ register RAY *r; /* compute transmitted ray */ setbrdfunc(&nd); transtest = 0; + transdist = r->rot; errno = 0; setcolor(ctmp, evalue(mf->ep[3]), evalue(mf->ep[4]), @@ -268,7 +268,7 @@ register RAY *r; transdist = r->rot + sr.rt; } if (r->crtype & SHADOW) /* the rest is shadow */ - return; + return(1); /* compute reflected ray */ setbrdfunc(&nd); errno = 0; @@ -308,6 +308,8 @@ register RAY *r; /* check distance */ if (transtest > bright(r->rcol)) r->rt = transdist; + + return(1); } @@ -321,7 +323,7 @@ register RAY *r; double dtmp; /* always a shadow */ if (r->crtype & SHADOW) - return; + return(1); /* check arguments */ if (m->oargs.nsargs < (hasdata(m->otype)?4:2) | m->oargs.nfargs < (m->otype==MAT_TFUNC|m->otype==MAT_TDATA?6:4)) @@ -381,6 +383,8 @@ register RAY *r; } /* add direct component */ direct(r, dirbrdf, &nd); + + return(1); }