Game Development Reference
In-Depth Information
small, then round-off errors can cause convexity problems, so we discard any
plane
L for which
2
VV
i ε
<
,
(8.57)
i
+
1
where ε is a small constant that can be adjusted to produce acceptable results.
The side planes of a reduced view frustum can meet at highly acute angles.
As shown in Figure 8.16, this can impact the effectiveness of bounding volume
visibility tests because objects lying far from the view frustum still may not lie on
the negative side of any single frustum plane. We can eliminate this problem by
detecting cases in which adjacent frustum planes meet at a small angle and add-
ing an extra plane to the view frustum whenever such cases occurs.
Figure 8.16 shows a new plane having normal direction N added to the view
frustum between two adjacent planes having normal vectors N and N . The vec-
tor N is constructed by first calculating the average (unnormalized) direction
between
N and
N , which is simply given by the sum
+
N . We then subtract
N
1
2
the projection of this average onto the direction
N N to ensure that the new
plane contains the line at which the two original planes intersect. This gives us
the following expression for N .
×
1
2
AN N
BN N
AABB
=+
−⋅
1
2
1
2
(
)
N
=
AABB
(8.58)
3
(
)
−⋅
N
3
N
N
1
2
Figure 8.16. Side planes of the reduced view frustum that meet at an acute angle can
impact the effectiveness of bounding volume visibility tests. The bounding sphere shown
here does not fail the visibility test even though it lies far outside the view frustum.
Search Nedrilad ::




Custom Search