--- ray/src/rt/ambient.c 1989/05/30 11:06:29 1.4 +++ ray/src/rt/ambient.c 1989/09/05 09:46:17 1.7 @@ -203,7 +203,8 @@ double s; * Jittering final test reduces image artifacts. */ wt = sqrt(e1) + sqrt(e2); - if (wt > ambacc*(0.9 + 0.2*frandom())) + wt *= .9 + .2*frandom(); + if (wt > ambacc) continue; if (wt <= 1e-3) wt = 1e3; @@ -381,8 +382,8 @@ register RAY *r; dnew.n = div[0].n + 1; dnew.t = div[0].t; dnew.p = div[0].p; b2 = bright(dnew.v)/dnew.n - bright(ar.rcol); - b2 = b2*b2 + div[0].k*div[0].n; - dnew.k = b2/dnew.n; + b2 = b2*b2 + div[0].k*(div[0].n*div[0].n); + dnew.k = b2/(dnew.n*dnew.n); /* reinsert */ for (k = 0; k < ne-1 && dnew.k < div[k+1].k; k++) bcopy(&div[k+1], &div[k], sizeof(AMBSAMP));