The Normalized Frustum
Foley uses -1<=x<=1, -1<=y<=1, 0<=z<=1
OpenGL uses -1<=x<=1, -1<=y<=1, -1<=z<=1
- (try applying the transformation in glFrustum to the boundary points of the clipping volume and see)
But who cares! They only differ by a homogeneous transformation; we can clip against either version.
- Or, we can translate normalizing transformations by applying the appropriate trans.
Must clip in homogeneous coordinates:
wɬ: -w<=x<=w, -w<=y<=w, -w<=z<=w (OpenGL)
wɘ: -w>=x>=w, -w>=y>=w, -w>=z>=w (ditto)