152 |
|
ambdone(); |
153 |
|
/* init ambient limits */ |
154 |
|
setambres(ambres); |
155 |
< |
setambacc(ambacc); |
155 |
> |
qambacc = sqrt(sqrt(ambacc *= (ambacc > FTINY))); |
156 |
|
if (ambfile == NULL || !ambfile[0]) |
157 |
|
return; |
158 |
|
if (ambacc <= FTINY) { |
461 |
|
/* compute ambient */ |
462 |
|
i = doambient(acol, r, amb.weight, uvw, amb.rad, amb.gpos, amb.gdir); |
463 |
|
scalecolor(acol, 1./AVGREFL); /* undo assumed reflectance */ |
464 |
< |
if (i <= 0) /* no Hessian => no storage */ |
464 |
> |
if (i <= 0 || amb.rad[0] <= FTINY) /* no Hessian or zero radius */ |
465 |
|
return(i); |
466 |
|
/* store value */ |
467 |
|
VCOPY(amb.pos, r->rop); |