Castor3D
..
|
Le pipeline de rendu. Plus de détails...
Fonctions membres publiques | |
C3D_API | Pipeline (RenderSystem &p_renderSystem) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~Pipeline () |
Destructeur. Plus de détails... | |
C3D_API void | Initialise () |
Initialise le pipeline. Plus de détails... | |
C3D_API bool | Project (Castor::Point3r const &p_screen, Castor::Point4r const &p_viewport, Castor::Point3r &p_result) |
Projette le point écran donné en point 3D. Plus de détails... | |
C3D_API bool | UnProject (Castor::Point3i const &p_scene, Castor::Point4r const &p_viewport, Castor::Point3r &p_result) |
Dé-projette le point dans la scène donné en point écran. Plus de détails... | |
C3D_API void | ApplyProjection (FrameVariableBuffer &p_matrixBuffer) |
Met la matrice de projection dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyModel (FrameVariableBuffer &p_matrixBuffer) |
Met la matrice de modèle dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyView (FrameVariableBuffer &p_matrixBuffer) |
Met la matrice de vue dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyNormal (FrameVariableBuffer &p_matrixBuffer) |
Met la matrice de normales dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyTexture (uint32_t p_index, FrameVariableBuffer &p_matrixBuffer) |
Met la matrice de texture 0 dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyMatrices (FrameVariableBuffer &p_matrixBuffer, uint64_t p_matricesMask) |
Met toutes les matrices dans le buffer de variables donné. Plus de détails... | |
C3D_API void | ApplyViewport (int p_windowWidth, int p_windowHeight) |
Applique les dimensions de viewport données. Plus de détails... | |
C3D_API void | Perspective (Castor::Angle const &p_fovy, real p_aspect, real p_near, real p_far) |
Construit une matrice de projection en perspective centrée. Plus de détails... | |
C3D_API void | Frustum (real p_left, real p_right, real p_bottom, real p_top, real p_near, real p_far) |
Construit une matrice de projection en perspective non centrée. Plus de détails... | |
C3D_API void | Ortho (real p_left, real p_right, real p_bottom, real p_top, real p_near, real p_far) |
Construit une matrice de projection orthographique non centrée. Plus de détails... | |
C3D_API void | LookAt (Castor::Point3r const &p_eye, Castor::Point3r const &p_center, Castor::Point3r const &p_up) |
Construit une matrice de vue regardant un point donné. Plus de détails... | |
virtual C3D_API void | UpdateImpl () |
Met à jour l'implémentation utilisée. Plus de détails... | |
void | SetModelMatrix (Castor::Matrix4x4r const &p_mtx) |
Définit la matrice modèle. Plus de détails... | |
void | SetViewMatrix (Castor::Matrix4x4r const &p_mtx) |
Définit la matrice vue. Plus de détails... | |
void | SetProjectionMatrix (Castor::Matrix4x4r const &p_mtx) |
Définit la matrice projection. Plus de détails... | |
void | SetTextureMatrix (uint32_t p_index, Castor::Matrix4x4r const &p_mtx) |
Définit la matrice projection. Plus de détails... | |
Castor::Matrix4x4r const & | GetModelMatrix () const |
Récupère la matrice modèle. Plus de détails... | |
Castor::Matrix4x4r const & | GetViewMatrix () const |
Récupère la matrice vue. Plus de détails... | |
Castor::Matrix4x4r const & | GetProjectionMatrix () const |
Récupère la matrice projection. Plus de détails... | |
Castor::Matrix4x4r const & | GetTextureMatrix (uint32_t p_index) const |
Récupère la matrice de texture pour l'indice donné. Plus de détails... | |
Attributs publics | |
Castor::Matrix4x4r | m_mtxIdentity |
La matrice identité Plus de détails... | |
Attributs publics statiques | |
static const Castor::String | MtxProjection |
static const Castor::String | MtxModel |
static const Castor::String | MtxView |
static const Castor::String | MtxNormal |
static const Castor::String | MtxTexture [C3D_MAX_TEXTURE_MATRICES] |
static const Castor::String | MtxBones |
Attributs protégés | |
Castor::Matrix4x4r | m_mtxModel |
La matrice modèle. Plus de détails... | |
Castor::Matrix4x4r | m_mtxView |
La matrice vue. Plus de détails... | |
Castor::Matrix4x4r | m_mtxProjection |
La matrice projection. Plus de détails... | |
Castor::Matrix4x4r | m_mtxNormal |
La matrice des normales. Plus de détails... | |
Castor::Matrix4x4r | m_mtxTexture [C3D_MAX_TEXTURE_MATRICES] |
Les matrices de texture. Plus de détails... | |
IPipelineImplWPtr | m_impl |
L'implémentation du Pipeline, fournie par le driver. Plus de détails... | |
Amis | |
class | IPipelineImpl |
Le pipeline de rendu.
C3D_API Castor3D::Pipeline::Pipeline | ( | RenderSystem & | p_renderSystem | ) |
Constructeur.
[in] | p_renderSystem | Le render system. |
|
virtual |
Destructeur.
C3D_API void Castor3D::Pipeline::ApplyMatrices | ( | FrameVariableBuffer & | p_matrixBuffer, |
uint64_t | p_matricesMask | ||
) |
Met toutes les matrices dans le buffer de variables donné.
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
[in] | p_matricesMask | Une combinaison en OU binaire de MASK_MTXMODE, pour filtrer les matrices à appliquer. |
C3D_API void Castor3D::Pipeline::ApplyModel | ( | FrameVariableBuffer & | p_matrixBuffer | ) |
Met la matrice de modèle dans le buffer de variables donné.
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
C3D_API void Castor3D::Pipeline::ApplyNormal | ( | FrameVariableBuffer & | p_matrixBuffer | ) |
Met la matrice de normales dans le buffer de variables donné.
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
C3D_API void Castor3D::Pipeline::ApplyProjection | ( | FrameVariableBuffer & | p_matrixBuffer | ) |
Met la matrice de projection dans le buffer de variables donné.
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
C3D_API void Castor3D::Pipeline::ApplyTexture | ( | uint32_t | p_index, |
FrameVariableBuffer & | p_matrixBuffer | ||
) |
Met la matrice de texture 0 dans le buffer de variables donné.
[in] | p_index | L'indice de la texture. |
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
C3D_API void Castor3D::Pipeline::ApplyView | ( | FrameVariableBuffer & | p_matrixBuffer | ) |
Met la matrice de vue dans le buffer de variables donné.
[in] | p_matrixBuffer | Le buffer de variables de matrices. |
C3D_API void Castor3D::Pipeline::ApplyViewport | ( | int | p_windowWidth, |
int | p_windowHeight | ||
) |
Applique les dimensions de viewport données.
[in] | p_windowWidth,p_windowHeight | Les dimensions. |
C3D_API void Castor3D::Pipeline::Frustum | ( | real | p_left, |
real | p_right, | ||
real | p_bottom, | ||
real | p_top, | ||
real | p_near, | ||
real | p_far | ||
) |
Construit une matrice de projection en perspective non centrée.
[in] | p_left | Position du plan gauche |
[in] | p_right | Position du plan droit |
[in] | p_bottom | Position du plan bas |
[in] | p_top | Position du plan haut |
[in] | p_near | Position du plan proche |
[in] | p_far | Position du plan lointain |
|
inline |
Récupère la matrice modèle.
|
inline |
Récupère la matrice projection.
|
inline |
Récupère la matrice de texture pour l'indice donné.
[in] | p_index | L'indice de la texture. |
|
inline |
Récupère la matrice vue.
C3D_API void Castor3D::Pipeline::Initialise | ( | ) |
Initialise le pipeline.
C3D_API void Castor3D::Pipeline::LookAt | ( | Castor::Point3r const & | p_eye, |
Castor::Point3r const & | p_center, | ||
Castor::Point3r const & | p_up | ||
) |
Construit une matrice de vue regardant un point donné.
[in] | p_eye | La position de l'oeil. |
[in] | p_center | Le point à regarder. |
[in] | p_up | La direction vers le haut. |
C3D_API void Castor3D::Pipeline::Ortho | ( | real | p_left, |
real | p_right, | ||
real | p_bottom, | ||
real | p_top, | ||
real | p_near, | ||
real | p_far | ||
) |
Construit une matrice de projection orthographique non centrée.
[in] | p_left | Position du plan gauche |
[in] | p_right | Position du plan droit |
[in] | p_bottom | Position du plan bas |
[in] | p_top | Position du plan haut |
[in] | p_near | Position du plan proche |
[in] | p_far | Position du plan lointain |
C3D_API void Castor3D::Pipeline::Perspective | ( | Castor::Angle const & | p_fovy, |
real | p_aspect, | ||
real | p_near, | ||
real | p_far | ||
) |
Construit une matrice de projection en perspective centrée.
[in] | p_fovy | Angle de vision Y |
[in] | p_aspect | Ratio Largeur / Hauteur |
[in] | p_near | Position du plan proche |
[in] | p_far | Position du plan lointain |
C3D_API bool Castor3D::Pipeline::Project | ( | Castor::Point3r const & | p_screen, |
Castor::Point4r const & | p_viewport, | ||
Castor::Point3r & | p_result | ||
) |
Projette le point écran donné en point 3D.
[in] | p_screen | Les coordonnées écran. |
[in] | p_viewport | Le viewport. |
[out] | p_result | Reçoit coordonnées dans la scène. |
false
si le mode courant est invalide.
|
inline |
Définit la matrice modèle.
[in] | p_mtx | La nouvelle matrice. |
|
inline |
Définit la matrice projection.
[in] | p_mtx | La nouvelle matrice. |
|
inline |
Définit la matrice projection.
[in] | p_index | L'indice de la texture. |
[in] | p_mtx | La nouvelle matrice. |
|
inline |
Définit la matrice vue.
[in] | p_mtx | La nouvelle matrice. |
C3D_API bool Castor3D::Pipeline::UnProject | ( | Castor::Point3i const & | p_scene, |
Castor::Point4r const & | p_viewport, | ||
Castor::Point3r & | p_result | ||
) |
Dé-projette le point dans la scène donné en point écran.
[in] | p_scene | Les coordonnées dans la scène. |
[in] | p_viewport | Le viewport. |
[out] | p_result | Reçoit les coordonnées écran. |
false
si le mode courant est invalide.
|
virtual |
Met à jour l'implémentation utilisée.
|
friend |
|
protected |
L'implémentation du Pipeline, fournie par le driver.
Castor::Matrix4x4r Castor3D::Pipeline::m_mtxIdentity |
La matrice identité
|
protected |
La matrice modèle.
|
protected |
La matrice des normales.
|
protected |
La matrice projection.
|
protected |
Les matrices de texture.
|
protected |
La matrice vue.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |