76 void SetPerspective(T fFOVy, T fAspectRatio, T fNearPlane, T fFarPlane);
DtMatrix4< T > myViewProjectionMatrix
Definition: DtCamera.h:111
virtual void setFromModelViewProjectionMatrix(const DtMatrix4< T > &modelViewMat, const DtMatrix4< T > &projMat)
set up a frustum, given a projection matrix and a view matrix the matrices are expected to be row-maj...
Definition: DtCamera.inl:620
const DtMatrix4< T > & ViewMatrix(void) const
Get the view matrix specified above.
Definition: DtCamera.inl:164
DtPlane< T > myFrustumPlanes[6]
Definition: DtCamera.h:115
DtCamera()
CTOR.
Definition: DtCamera.inl:18
virtual ~Frustum()
dtor
Definition: DtCamera.inl:429
DtVector3< T > myVecSideVector
Definition: DtCamera.h:102
Frustum()
ctor
Definition: DtCamera.inl:423
void setFixedUpVector(bool fixed)
Definition: DtCamera.inl:201
void setDirection(const DtVector3< T > &vDirection)
Definition: DtCamera.inl:89
Matrix manipulation utilities.
std::array< DtPlane< T >, 6 > myFrustumPlanes
Definition: DtCamera.h:212
virtual void setPlane(FrustumPlane plane, T d, const DtVector3< T > &vNormal)
set a frustum plane
Definition: DtCamera.inl:450
Definition: DtCamera.h:37
Screen Space Rectangle class.
DtVector3< T > myVecDirection
Definition: DtCamera.h:100
virtual bool isVisible(const DtAxisAlignedBoundingBox< T > &box) const
is bounding box visible within this frustum?
Definition: DtCamera.inl:519
T myfFieldOfViewY
Definition: DtCamera.h:106
T aspectRatio(void) const
Get the aspect ratio.
Definition: DtCamera.inl:212
bool mybFixedUpVector
Definition: DtCamera.h:113
void setPosition(const DtVector3< T > &vPosition)
Definition: DtCamera.inl:77
void updateFrustumPlanes(void)
Definition: DtCamera.inl:218
virtual bool operator==(const Frustum< T > &rhs) const
equality
Definition: DtCamera.inl:757
virtual void frustumPlanes(std::array< DtVector4< T >, 6 > &planes) const
get the frustum planes as DtVector4's
Definition: DtCamera.inl:742
DtVector3< T > direction(void) const
Definition: DtCamera.inl:95
Template for 32/64 bit Axis Aligned bounding boxesnot virtual because its stored as is on the GPU...
Definition: DtAxisAlignedBoundingBox.h:27
DtMatrix4< T > myProjectionMatrix
Definition: DtCamera.h:110
T myfNearPlane
Definition: DtCamera.h:104
Axis Aligned Bounding Box class.
T nearPlane(void) const
Definition: DtCamera.inl:45
Template for 32/64 bit Cameras.
Definition: DtCamera.h:43
FrustumPlane
Definition: DtCamera.h:25
DtVector3< T > upVector(void) const
Definition: DtCamera.inl:101
Definition: DtCamera.h:121
T farPlane(void) const
Definition: DtCamera.inl:58
4 dimensional vector
Definition: DtMath.h:22
DtScreenRect screenAABB(const DtAxisAlignedBoundingBox< T > &worldBox, const Vector2_uint32 &viewPortSize) const
Get the screen space bounds of a world box.
Definition: DtCamera.inl:362
DtMatrix4< T > myViewMatrix
Definition: DtCamera.h:109
DtVector3< T > myVecUpVector
Definition: DtCamera.h:101
const DtMatrix4< T > & ViewProjectionMatrix(void) const
concatenated matrix : projection * view
Definition: DtCamera.inl:235
Definition: DtCamera.h:37
void setNearPlane(T fNearPlane)
Definition: DtCamera.inl:38
bool IsVisible(const DtAxisAlignedBoundingBox< T > &box) const
Is a box visible from this camera?
Definition: DtCamera.inl:241
virtual bool isSphereVisible(const DtVector3< T > ¢er, T radius) const
is bounding sphere visible within this frustum?
Definition: DtCamera.inl:558
Definition: DtCamera.h:30
void setFarPlane(T fFarPlane)
Definition: DtCamera.inl:51
void setFieldOfView(T fFOVy)
This is the complete field of view in the Y direction. Not half.
Definition: DtCamera.inl:64
Frustum & operator=(const Frustum< RHS > &rhs)
Assignment Operator.
VisibilityFromCamera
Definition: DtCamera.h:35
Definition: DtCamera.h:37
T myfAspectRatio
Definition: DtCamera.h:107
void computePlaneFromPoints(DtPlane< T > &plane, const DtVector3< T > &point0, const DtVector3< T > &point1, const DtVector3< T > &point2) const
Helper to compute a plane from 3 points.
Definition: DtCamera.inl:601
virtual bool operator!=(const Frustum< T > &rhs) const
inequality
Definition: DtCamera.inl:772
void SetPerspective(T fFOVy, T fAspectRatio, T fNearPlane, T fFarPlane)
gluPerspective style setting of the projection matrix
Definition: DtCamera.inl:170
virtual DtVector4< T > planeAsVector(FrustumPlane plane) const
get the frustum plane as a vector
Definition: DtCamera.inl:464
Definition: DtCamera.h:31
Definition: DtCamera.h:29
const DtMatrix4< T > & ProjectionMatrix(void) const
Get the projection matrix specified above.
Definition: DtCamera.inl:195
VisibilityFromCamera getVisibility(const DtAxisAlignedBoundingBox< T > &box) const
Returns visibility from this camera?
Definition: DtCamera.inl:278
2 dimensional vector
Definition: DtMath.h:21
DtVector3< T > myVecPosition
Definition: DtCamera.h:99
DtVector3< T > sideVector(void) const
Definition: DtCamera.inl:107
Template for 32/64 bit bit frustums.
Definition: DtCamera.h:151
DtPlane class.
Definition: DtPlane.h:24
void lookAt(const DtVector3< T > &vEye, const DtVector3< T > &vLook, const DtVector3< T > &vUp)
gluLookAt style setting of the view matrix
Definition: DtCamera.inl:113
Screen Space Rectangle class.
Definition: DtScreenRect.h:21
virtual ~DtCamera()
DTOR.
Definition: DtCamera.inl:32
Definition: DtCamera.h:32
bool isFixedUpVector(void) const
Definition: DtCamera.inl:206
void updateViewProjectionMatrix(void)
Definition: DtCamera.inl:229
static DtVector2< T > project(const DtVector3< T > &vPosition, const DtMatrix4< T > &view_projection_matrix, bool clip=true)
Normalized Device Coordinates (-1,1)
Definition: DtCamera.inl:329
virtual VisibilityFromCamera visibility(const DtAxisAlignedBoundingBox< T > &box, bool ignoreNearFar=false) const
get visibility of bounding box within the frustum
Definition: DtCamera.inl:473
static DtScreenRect screenAABB(const DtAxisAlignedBoundingBox< T > &worldBox, const DtMatrix4< T > &view_projection_matrix, const Vector2_uint32 &viewPortSize, bool clip=true)
Project box into screen space and compute its bounds.
Definition: DtCamera.inl:382
Definition: DtCamera.h:28
DtVector3< T > position(void) const
Definition: DtCamera.inl:83
T myfFarPlane
Definition: DtCamera.h:105
T fieldOfView(void) const
Definition: DtCamera.inl:71
virtual const DtPlane< T > & plane(FrustumPlane plane) const
get a frustum plane
Definition: DtCamera.inl:458
4 dimensional matrix
Definition: DtMatrix4.h:22
virtual bool isSphereVisibleRadiusSquared(const DtVector3< T > ¢er, double radiusSquared) const
is bounding sphere (with a radius squared) visible within this frustum?
Definition: DtCamera.inl:579
Definition: DtCamera.h:27