| 753 |
|
if (viewray(pt, tdir, &theirview, pos[0], pos[1]) < -FTINY) |
| 754 |
|
return(0); |
| 755 |
|
if ((!normdist) & (theirview.type == VT_PER)) /* adjust */ |
| 756 |
< |
pos[2] *= sqrt(1. + pos[0]*pos[0]*theirview.hn2 |
| 757 |
< |
+ pos[1]*pos[1]*theirview.vn2); |
| 756 |
> |
pos[2] /= DOT(theirview.vdir, tdir); |
| 757 |
|
pt[0] += tdir[0]*pos[2]; |
| 758 |
|
pt[1] += tdir[1]*pos[2]; |
| 759 |
|
pt[2] += tdir[2]*pos[2]; |
| 760 |
< |
viewloc(pos, &ourview, pt); |
| 762 |
< |
if (pos[2] <= 0) |
| 760 |
> |
if (viewloc(pos, &ourview, pt) <= 0) |
| 761 |
|
return(0); |
| 762 |
|
} |
| 763 |
|
if ((pos[0] < 0) | (pos[0] >= 1-FTINY) | (pos[1] < 0) | (pos[1] >= 1-FTINY)) |