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

#include <Frustum.hpp>

Types publics

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

Fonctions membres publiques

C3D_API Frustum (Viewport &viewport)
 Constructeur.
 
C3D_API void update (castor::Matrix4x4f const &view)
 Met à jour les plans du frustum.
 
C3D_API void update (castor::Matrix4x4f const &projection, castor::Matrix4x4f const &view)
 Met à jour les plans du frustum.
 
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.
 
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.
 
C3D_API bool isVisible (castor::Point3f const &point) const
 Vérifie si le point donné est dans le frustum de vue.
 
castor::Array< InterleavedVertex, 8u > const & getPoints () const noexcept
 
Planes const & getPlanes () const noexcept
 
castor::BoundingBox const & getBoundingBox () const noexcept
 

Documentation des définitions de type membres

◆ Planes

Documentation des constructeurs et destructeur

◆ Frustum()

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

Constructeur.

Paramètres
[in]viewportLe viewport.

Documentation des fonctions membres

◆ getBoundingBox()

castor::BoundingBox const & castor3d::Frustum::getBoundingBox ( ) const
inlinenoexcept

◆ getPlanes()

Planes const & castor3d::Frustum::getPlanes ( ) const
inlinenoexcept

◆ getPoints()

castor::Array< InterleavedVertex, 8u > const & castor3d::Frustum::getPoints ( ) const
inlinenoexcept

◆ 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(), castor3d::Camera::isVisible(), et 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/2]

C3D_API void 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/2]

C3D_API void castor3d::Frustum::update ( castor::Matrix4x4f const & view)

Met à jour les plans du frustum.

Paramètres
[in]viewLe matrice de vue.

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