
128 GPGPU Programming for Games and Science
Left
W
tl
W
bl
Top
Far
Bottom
Near
V
tl
V
tr
V
bl
V
br
Right
W
tr
W
br
Left
Far
Right
Near
D
d
max
d
min
μ
r
E
r
max
r
min
R
Top
Far
Bottom
Near
D
d
max
d
min
μ
u
E
u
max
U
u
min
(a)
(b)
(c)
FIGURE 4.2: (a) A 3D drawing of the symmetric view frustum. The left,
right, bottom, top, near, and far planes are labeled, as are the eight vertices
of the frustum. (b) A 2D drawing of the frustum as seen from the top side.
(c) A 2D drawing of the frustum as seen from the right side.
The corresponding homogeneous projection matrix is
H
proj
=
⎡
⎢
⎢
⎢
⎣
2d
min
r
max
−r
min
0 −
r
max
+r
min
r
max
−r
min
0
0
2d
min
u
max
−u
min
−
u
max
+u
min
u
max
−u
min
0
00
d
max
d
max
−d
min
−
d
max
d
min
d
max
−d
min
00 1 0
⎤
⎥
⎥
⎥
⎦
(4.13)
The matrix ...