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