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

#include <Viewport.hpp>

Fonctions membres publiques

C3D_API Viewportoperator= (Viewport const &rhs)=delete
 
C3D_API Viewportoperator= (Viewport &&rhs) noexcept=delete
 
C3D_API Viewport (Viewport const &rhs)
 
C3D_API Viewport (Viewport &&rhs) noexcept
 
C3D_API ~Viewport () noexcept=default
 
C3D_API Viewport (Engine const &engine)
 Constructeur.
 
C3D_API bool update ()
 Applique la perspective.
 
C3D_API void setPerspective (castor::Angle const &fovy, float aspect, float nearZ, float farZ)
 Construit vioewport en perspective centrée.
 
C3D_API void setInfinitePerspective (castor::Angle const &fovy, float aspect, float nearZ)
 Construit vioewport en perspective centrée avec plan éloigné infini.
 
C3D_API void setFrustum (float left, float right, float bottom, float top, float nearZ, float farZ)
 Construit une matrice de projection en perspective non centrée.
 
C3D_API void setOrtho (float left, float right, float bottom, float top, float nearZ, float farZ)
 Construit une matrice de projection orthographique.
 
C3D_API void resize (const castor::Size &value)
 Définit les dimensions de rendu du viewport.
 
C3D_API float getProjectionScale () const
 
C3D_API castor::Matrix4x4f getRescaledProjection (float scale) const
 
C3D_API castor::Matrix4x4f getRescaledSafeBandedProjection (float scale) const
 
castor::Size const & getSize () const noexcept
 
castor::Position const & getPosition () const noexcept
 
ViewportType getType () const noexcept
 
float getRatio () const noexcept
 
float getNear () const noexcept
 
float getFar () const noexcept
 
castor::Angle const & getFovY () const noexcept
 
float getLeft () const noexcept
 
float getRight () const noexcept
 
float getTop () const noexcept
 
float getBottom () const noexcept
 
uint32_t getWidth () const noexcept
 
uint32_t getHeight () const noexcept
 
bool isModified () const noexcept
 
castor::Matrix4x4f const & getProjection () const noexcept
 
castor::Matrix4x4f const & getSafeBandedProjection () const noexcept
 
VkViewport const & getViewport () const noexcept
 
VkRect2D const & getScissor () const noexcept
 
Engine const & getEngine () const noexcept
 
void setPosition (castor::Position const &value) noexcept
 
void updateType (ViewportType value) noexcept
 
void updateRatio (float value) noexcept
 
void updateNear (float value) noexcept
 
void updateFar (float value) noexcept
 
void updateFovY (castor::Angle const &value) noexcept
 
void updateLeft (float value) noexcept
 
void updateRight (float value) noexcept
 
void updateTop (float value) noexcept
 
void updateBottom (float value) noexcept
 

Attributs publics statiques

static C3D_API const castor::Array< castor::String, size_t(ViewportType::eCount) > TypeName
 

Documentation des constructeurs et destructeur

◆ Viewport() [1/3]

C3D_API castor3d::Viewport::Viewport ( Viewport const & rhs)

◆ Viewport() [2/3]

C3D_API castor3d::Viewport::Viewport ( Viewport && rhs)
noexcept

◆ ~Viewport()

C3D_API castor3d::Viewport::~Viewport ( )
defaultnoexcept

◆ Viewport() [3/3]

C3D_API castor3d::Viewport::Viewport ( Engine const & engine)
explicit

Constructeur.

Paramètres
[in]engineLe moteur.

Documentation des fonctions membres

◆ getBottom()

float castor3d::Viewport::getBottom ( ) const
inlinenoexcept

◆ getEngine()

Engine const & castor3d::Viewport::getEngine ( ) const
inlinenoexcept

◆ getFar()

float castor3d::Viewport::getFar ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getFovY()

castor::Angle const & castor3d::Viewport::getFovY ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getHeight()

uint32_t castor3d::Viewport::getHeight ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getLeft()

float castor3d::Viewport::getLeft ( ) const
inlinenoexcept

◆ getNear()

float castor3d::Viewport::getNear ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getPosition()

castor::Position const & castor3d::Viewport::getPosition ( ) const
inlinenoexcept

◆ getProjection()

castor::Matrix4x4f const & castor3d::Viewport::getProjection ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getProjectionScale()

C3D_API float castor3d::Viewport::getProjectionScale ( ) const
Renvoie
Le nombre de pixels par mètre, pour z = -1.

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

Voici le graphe des appelants de cette fonction :

◆ getRatio()

float castor3d::Viewport::getRatio ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getRescaledProjection()

C3D_API castor::Matrix4x4f castor3d::Viewport::getRescaledProjection ( float scale) const

name Accesseurs.

◆ getRescaledSafeBandedProjection()

C3D_API castor::Matrix4x4f castor3d::Viewport::getRescaledSafeBandedProjection ( float scale) const

◆ getRight()

float castor3d::Viewport::getRight ( ) const
inlinenoexcept

◆ getSafeBandedProjection()

castor::Matrix4x4f const & castor3d::Viewport::getSafeBandedProjection ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getScissor()

VkRect2D const & castor3d::Viewport::getScissor ( ) const
inlinenoexcept

◆ getSize()

castor::Size const & castor3d::Viewport::getSize ( ) const
inlinenoexcept

Référencé par castor3d::Camera::getSize(), et castor3d::Camera::resize().

Voici le graphe des appelants de cette fonction :

◆ getTop()

float castor3d::Viewport::getTop ( ) const
inlinenoexcept

◆ getType()

ViewportType castor3d::Viewport::getType ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ getViewport()

VkViewport const & castor3d::Viewport::getViewport ( ) const
inlinenoexcept

◆ getWidth()

uint32_t castor3d::Viewport::getWidth ( ) const
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

◆ isModified()

bool castor3d::Viewport::isModified ( ) const
inlinenoexcept

◆ operator=() [1/2]

C3D_API Viewport & castor3d::Viewport::operator= ( Viewport && rhs)
deletenoexcept

◆ operator=() [2/2]

C3D_API Viewport & castor3d::Viewport::operator= ( Viewport const & rhs)
delete

◆ resize()

C3D_API void castor3d::Viewport::resize ( const castor::Size & value)

Définit les dimensions de rendu du viewport.

Paramètres
[in]valueLa nouvelle valeur

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

Voici le graphe des appelants de cette fonction :

◆ setFrustum()

C3D_API void castor3d::Viewport::setFrustum ( float left,
float right,
float bottom,
float top,
float nearZ,
float farZ )

Construit une matrice de projection en perspective non centrée.

Paramètres
[in]leftPosition du plan gauche.
[in]rightPosition du plan droit.
[in]bottomPosition du plan bas.
[in]topPosition du plan haut.
[in]nearZPosition du plan proche.
[in]farZPosition du plan éloigné.

◆ setInfinitePerspective()

C3D_API void castor3d::Viewport::setInfinitePerspective ( castor::Angle const & fovy,
float aspect,
float nearZ )

Construit vioewport en perspective centrée avec plan éloigné infini.

Paramètres
[in]fovyAngle de vision Y.
[in]aspectRatio Largeur / Hauteur.
[in]nearZPosition du plan proche.

◆ setOrtho()

C3D_API void castor3d::Viewport::setOrtho ( float left,
float right,
float bottom,
float top,
float nearZ,
float farZ )

Construit une matrice de projection orthographique.

Paramètres
[in]leftPosition du plan gauche.
[in]rightPosition du plan droit.
[in]bottomPosition du plan bas.
[in]topPosition du plan haut.
[in]nearZPosition du plan proche.
[in]farZPosition du plan éloigné.

◆ setPerspective()

C3D_API void castor3d::Viewport::setPerspective ( castor::Angle const & fovy,
float aspect,
float nearZ,
float farZ )

Construit vioewport en perspective centrée.

Paramètres
[in]fovyAngle de vision Y.
[in]aspectRatio Largeur / Hauteur.
[in]nearZPosition du plan proche.
[in]farZPosition du plan éloigné.

◆ setPosition()

void castor3d::Viewport::setPosition ( castor::Position const & value)
inlinenoexcept

name Mutateurs.

◆ update()

C3D_API bool castor3d::Viewport::update ( )

Applique la perspective.

Renvoie
true si le frustum de vue a été modifié

◆ updateBottom()

void castor3d::Viewport::updateBottom ( float value)
inlinenoexcept

◆ updateFar()

void castor3d::Viewport::updateFar ( float value)
inlinenoexcept

◆ updateFovY()

void castor3d::Viewport::updateFovY ( castor::Angle const & value)
inlinenoexcept

◆ updateLeft()

void castor3d::Viewport::updateLeft ( float value)
inlinenoexcept

◆ updateNear()

void castor3d::Viewport::updateNear ( float value)
inlinenoexcept

◆ updateRatio()

void castor3d::Viewport::updateRatio ( float value)
inlinenoexcept

◆ updateRight()

void castor3d::Viewport::updateRight ( float value)
inlinenoexcept

◆ updateTop()

void castor3d::Viewport::updateTop ( float value)
inlinenoexcept

◆ updateType()

void castor3d::Viewport::updateType ( ViewportType value)
inlinenoexcept

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

Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ TypeName

C3D_API const castor::Array< castor::String, size_t( ViewportType::eCount ) > castor3d::Viewport::TypeName
static

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