156 |
|
/* roughness + source */ |
157 |
|
dtmp = np->alpha2 + omega*(1.0/PI); |
158 |
|
/* gaussian */ |
159 |
< |
dtmp = exp((2.*DOT(np->prdir,ldir)-2.)/dtmp)/(PI*dtmp); |
159 |
> |
dtmp = exp((2.*DOT(np->prdir,ldir)-2.)/dtmp)/(PI*dtmp); |
160 |
|
/* worth using? */ |
161 |
|
if (dtmp > FTINY) { |
162 |
|
copycolor(ctmp, np->mcolor); |
299 |
|
if (hastexture && DOT(nd.vrefl, r->ron) <= FTINY) |
300 |
|
for (i = 0; i < 3; i++) /* safety measure */ |
301 |
|
nd.vrefl[i] = r->rdir[i] + 2.*r->rod*r->ron[i]; |
302 |
+ |
checknorm(nd.vrefl); |
303 |
|
} |
304 |
|
/* reflected ray */ |
305 |
|
if ((nd.specfl&(SP_REFL|SP_PURE|SP_RBLT)) == (SP_REFL|SP_PURE)) { |