536 |
|
for (k = bp->nrm; k--; rv++) { |
537 |
|
RREAL hitd = hddepth(hp, rv->d); |
538 |
|
ryp.d = hdray(ryp.ro, ryp.rd, hp, gc, rv->r); |
539 |
< |
if (*(int *)hp->priv & H_OBSF) |
540 |
< |
VSUM(ryp.ro, ryp.ro, ryp.rd, ryp.d); |
541 |
< |
else if (*(int *)hp->priv & H_OBST) |
539 |
> |
if (*(int *)hp->priv & H_OBST) { |
540 |
|
ryp.d = 0; |
541 |
< |
else if (hitd < ryp.d) { |
542 |
< |
ryp.d = 0.97*hitd; |
541 |
> |
} else { |
542 |
> |
if (ryp.d > 0.97*hitd) |
543 |
> |
ryp.d = 0.97*hitd; |
544 |
|
VSUM(ryp.ro, ryp.ro, ryp.rd, ryp.d); |
545 |
< |
} else |
547 |
< |
ryp.d = 0; |
545 |
> |
} |
546 |
|
ryp.d = hitd - ryp.d; |
547 |
|
copycolr(ryp.cv, rv->v); |
548 |
|
if (!write_ray(&ryp, fp)) { |