Castor3D  0.11.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::Frustum

Types publics

using Planes = std::array< castor::PlaneEquation, size_t(FrustumPlane::eCount) >
 

Fonctions membres publiques

C3D_API Frustum (Viewport &viewport)
 Constructeur. Plus de détails...
 
C3D_API Planes update (castor::Matrix4x4f const &projection, castor::Matrix4x4f const &view)
 Met à jour les plans du frustum. Plus de détails...
 
C3D_API Planes update (castor::Point3f const &position, castor::Point3f const &right, castor::Point3f const &up, castor::Point3f const &front)
 Met à jour les plans du frustum. Plus de détails...
 
C3D_API Planes update (castor::Point3f const &eye, castor::Point3f const &target, castor::Point3f const &up)
 Met à jour les plans du frustum. Plus de détails...
 
C3D_API bool isVisible (castor::BoundingBox const &box, castor::Matrix4x4f const &transformations) const
 Vérifie si la BoundingBox donnée est dans le frustum de vue. Plus de détails...
 
C3D_API bool isVisible (castor::BoundingSphere const &sphere, castor::Matrix4x4f const &transformations, castor::Point3f const &scale) const
 Vérifie si la SphereBox donnée est dans le frustum de vue. Plus de détails...
 
C3D_API bool isVisible (castor::Point3f const &point) const
 Vérifie si le point donné est dans le frustum de vue. Plus de détails...
 

Documentation des définitions de type membres

◆ Planes

using castor3d::Frustum::Planes = std::array< castor::PlaneEquation, size_t( FrustumPlane::eCount ) >

Documentation des constructeurs et destructeur

◆ Frustum()

C3D_API castor3d::Frustum::Frustum ( Viewport viewport)
explicit

Constructeur.

Paramètres
[in]viewportLe viewport.

Documentation des fonctions membres

◆ isVisible() [1/3]

C3D_API bool castor3d::Frustum::isVisible ( castor::BoundingBox const &  box,
castor::Matrix4x4f const &  transformations 
) const

Vérifie si la BoundingBox donnée est dans le frustum de vue.

Paramètres
[in]boxLa BoundingBox.
[in]transformationsLa matrice de transformations de la BoundingBox.
Renvoie
false si la BoundingBox est complètement en dehors du frustum de vue.

Référencé par castor3d::Camera::isVisible().

Voici le graphe des appelants de cette fonction :

◆ isVisible() [2/3]

C3D_API bool castor3d::Frustum::isVisible ( castor::BoundingSphere const &  sphere,
castor::Matrix4x4f const &  transformations,
castor::Point3f const &  scale 
) const

Vérifie si la SphereBox donnée est dans le frustum de vue.

Paramètres
[in]sphereLa BoundingSphere.
[in]transformationsLa matrice de transformations de la BoundingSphere.
[in]scaleL'échelle de la BoundingSphere.
Renvoie
false si la BoundingSphere est complètement en dehors du frustum de vue.

◆ isVisible() [3/3]

C3D_API bool castor3d::Frustum::isVisible ( castor::Point3f const &  point) const

Vérifie si le point donné est dans le frustum de vue.

Paramètres
[in]pointLe point.
Renvoie
false si le point en dehors du frustum de vue.

◆ update() [1/3]

C3D_API Planes castor3d::Frustum::update ( castor::Matrix4x4f const &  projection,
castor::Matrix4x4f const &  view 
)

Met à jour les plans du frustum.

Paramètres
[in]projectionLa matrice de projection.
[in]viewLe matrice de vue.

◆ update() [2/3]

C3D_API Planes castor3d::Frustum::update ( castor::Point3f const &  position,
castor::Point3f const &  right,
castor::Point3f const &  up,
castor::Point3f const &  front 
)

Met à jour les plans du frustum.

Paramètres
[in]positionLa position de la vue.
[in]rightLe vecteur X.
[in]upLe vecteur Y.
[in]frontLe vecteur Z.

◆ update() [3/3]

C3D_API Planes castor3d::Frustum::update ( castor::Point3f const &  eye,
castor::Point3f const &  target,
castor::Point3f const &  up 
)

Met à jour les plans du frustum.

Paramètres
[in]eyeLa position de la vue.
[in]targetLa position de la cible de la vue.
[in]upLa direction du vecteur haut, selon l'orientation de la vue.

La documentation de cette classe a été générée à partir du fichier suivant :