Unit CastleFrustum

Description

Frustum object (TFrustum) and helpers.

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TFrustum Viewing frustum, defined as 6 plane equations.

Types

TFrustumPlane = (...);
TFrustumPoints = packed array [0..7] of TVector4;
TFrustumPointsSingle = TFrustumPoints deprecated 'use TFrustumPoints';
TFrustumPointsDouble = packed array [0..7] of TVector4Double deprecated 'use Single-precision TFrustumPoints';
TFrustumCollisionPossible = (...);
PFrustum = ˆTFrustum;

Constants

FrustumPointsQuadsIndexes: packed array [TFrustumPlane, 0..3] of UInt16 = ( (0, 3, 7, 4), (1, 2, 6, 5), (2, 3, 7, 6), (0, 1, 5, 4), (0, 1, 2, 3), (4, 5, 6, 7) );
FrustumPointsLinesIndexes: packed array [0..11, 0..1] of UInt16 = ( (0, 1), (1, 2), (2, 3), (3, 0), (4, 5), (5, 6), (6, 7), (7, 4), (0, 4), (1, 5), (2, 6), (3, 7) );

Description

Types

TFrustumPlane = (...);

Order of planes of TFrustum.

(This order is the same as the order of params to procedure FrustumProjectionMatrix and OpenGL's glFrustum routine. Article [http://www2.ravensoft.com/users/ggribb/plane%20extraction.pdf] has swapped bottom and top positions).

Values
  • fpLeft
  • fpRight
  • fpBottom
  • fpTop
  • fpNear
  • fpFar
TFrustumPoints = packed array [0..7] of TVector4;

This item has no description.

TFrustumPointsSingle = TFrustumPoints deprecated 'use TFrustumPoints';

Warning: this symbol is deprecated: use TFrustumPoints

This item has no description.

TFrustumPointsDouble = packed array [0..7] of TVector4Double deprecated 'use Single-precision TFrustumPoints';

Warning: this symbol is deprecated: use Single-precision TFrustumPoints

This item has no description.

TFrustumCollisionPossible = (...);

See TFrustum.SphereCollisionPossible for description what each value of this type means.

Values
  • fcNoCollision
  • fcSomeCollisionPossible
  • fcInsideFrustum
PFrustum = ˆTFrustum;

This item has no description.

Constants

FrustumPointsQuadsIndexes: packed array [TFrustumPlane, 0..3] of UInt16 = ( (0, 3, 7, 4), (1, 2, 6, 5), (2, 3, 7, 6), (0, 1, 5, 4), (0, 1, 2, 3), (4, 5, 6, 7) );

This item has no description.

FrustumPointsLinesIndexes: packed array [0..11, 0..1] of UInt16 = ( (0, 1), (1, 2), (2, 3), (3, 0), (4, 5), (5, 6), (6, 7), (7, 4), (0, 4), (1, 5), (2, 6), (3, 7) );

Useful if you want to draw frustum obtained from TFrustum.CalculatePoints.

It's guaranteed that the first 4 items touch only the first 4 (near plane) points of the frustum — useful if you want to draw only the near plane rect.

When TFrustum.FarInfinity, other points may be in infinity.


Generated by PasDoc 0.16.0-snapshot.