Castor3D
..
|
Representation d'un submesh. Plus de détails...
Classes | |
class | BinaryParser |
class | TextLoader |
Loader texte de Submesh. Plus de détails... | |
Fonctions membres publiques | |
Submesh (MeshRPtr p_pMesh, Engine *p_pEngine=nullptr, uint32_t p_uiID=1) | |
Constructeur. Plus de détails... | |
~Submesh () | |
Destructeur. Plus de détails... | |
void | Cleanup () |
Nettoie le submesh. Plus de détails... | |
void | ComputeContainers () |
Calcule les conteneurs (cube et sphère) Plus de détails... | |
uint32_t | GetFaceCount () const |
uint32_t | GetPointsCount () const |
int | IsInMyPoints (Castor::Point3r const &p_vertex) |
Teste si le point donné fait partie de ceux de ce submesh. Plus de détails... | |
BufferElementGroupSPtr | AddPoint (real x, real y, real z) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
BufferElementGroupSPtr | AddPoint (Castor::Point3r const &p_v) |
Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails... | |
BufferElementGroupSPtr | AddPoint (real *p_v) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
void | AddPoints (stVERTEX_GROUP const &p_vertices) |
Ajoute des points à la liste. Plus de détails... | |
void | ClearFaces () |
Vide le tableau de faces. Plus de détails... | |
FaceSPtr | AddFace (uint32_t a, uint32_t b, uint32_t c) |
Crée et ajoute une face au submesh. Plus de détails... | |
void | AddFaceGroup (stFACE_INDICES *p_pFaces, uint32_t p_uiNbFaces) |
Crée et ajoute une face au submesh. Plus de détails... | |
template<uint32_t Count> | |
void | AddFaceGroup (stFACE_INDICES(&p_pFaces)[Count]) |
Crée et ajoute une face au submesh. Plus de détails... | |
void | AddQuadFace (uint32_t a, uint32_t b, uint32_t c, uint32_t d, Castor::Point3r const &p_ptMinUV=Castor::Point3r(), Castor::Point3r const &p_ptMaxUV=Castor::Point3r(1, 1, 1)) |
Crée et ajoute une face à 4 côtés au submesh. Plus de détails... | |
void | GenerateBuffers () |
Genère les buffers 3D. Plus de détails... | |
SubmeshSPtr | Clone () |
Clône le submesh. Plus de détails... | |
void | ResetGpuBuffers () |
Recrée les Vertex et Index buffers. Plus de détails... | |
void | ComputeFacesFromPolygonVertex () |
Crée les faces à partir des points. Plus de détails... | |
virtual void | Render () |
Dessine le submesh. Plus de détails... | |
VertexPtrArrayIt | VerticesBegin () |
Récupère un itérateur sur le premier vertex du submesh. Plus de détails... | |
VertexPtrArrayConstIt | VerticesBegin () const |
Récupère un itérateur constant sur le premier vertex du submesh. Plus de détails... | |
VertexPtrArrayIt | VerticesEnd () |
Récupère un itérateur sur la fin du tableau de vertex. Plus de détails... | |
VertexPtrArrayConstIt | VerticesEnd () const |
Récupère un itérateur constant sur la fin du tableau de vertex. Plus de détails... | |
FacePtrArrayIt | FacesBegin () |
Récupère un itérateur sur le premier vertex du submesh. Plus de détails... | |
FacePtrArrayConstIt | FacesBegin () const |
Récupère un itérateur constant sur le premier vertex du submesh. Plus de détails... | |
FacePtrArrayIt | FacesEnd () |
Récupère un itérateur sur la fin du tableau de vertex. Plus de détails... | |
FacePtrArrayConstIt | FacesEnd () const |
Récupère un itérateur constant sur la fin du tableau de vertex. Plus de détails... | |
SkeletonSPtr | GetSkeleton () const |
Récupère le squelette. Plus de détails... | |
void | SetDefaultMaterial (MaterialSPtr p_mat) |
Définit le material. Plus de détails... | |
BufferElementGroupSPtr | operator[] (uint32_t p_uiIndex) const |
Récupère le point à l'index donné Plus de détails... | |
BufferElementGroupSPtr | GetPoint (uint32_t p_uiIndex) const |
Récupère le point à l'index donné Plus de détails... | |
MaterialSPtr | GetDefaultMaterial () const |
Récupère le material. Plus de détails... | |
Castor::CubeBox const & | GetCubeBox () const |
Récupère la boundig box cube. Plus de détails... | |
Castor::CubeBox & | GetCubeBox () |
Récupère la boundig box cube. Plus de détails... | |
Castor::SphereBox const & | GetSphere () const |
Récupère la bounding box sphere. Plus de détails... | |
Castor::SphereBox & | GetSphere () |
Récupère la bounding box sphere. Plus de détails... | |
VertexPtrArray const & | GetPoints () const |
Récupère le tableau de points. Plus de détails... | |
VertexPtrArray & | GetPoints () |
Récupère le tableau de points. Plus de détails... | |
FaceSPtr | GetFace (uint32_t p_uiIndex) const |
Récupère récupère la face à l'index donné Plus de détails... | |
FacePtrArray const & | GetFaces () const |
Récupère le tableau de faces. Plus de détails... | |
FacePtrArray & | GetFaces () |
Récupère le tableau de faces. Plus de détails... | |
BufferDeclarationSPtr | GetDeclaration () |
Récupère la BufferDeclaration. Plus de détails... | |
virtual void | ComputeNormals (bool p_bReverted=false) |
Génère les normales et les tangentes. Plus de détails... | |
void | ComputeNormals (FaceSPtr p_pFace) |
Calcule la normale et la tangente pour chaque vertex de la face donnée. Plus de détails... | |
void | ComputeTangents (FaceSPtr p_pFace) |
Calcule la tangente pour chaque vertex de la face donnée. Plus de détails... | |
void | ComputeTangentsFromNormals () |
Calcule la tangente pour chaque vertex du submesh. Plus de détails... | |
void | ComputeTangentsFromBitangents () |
Calcule la tangente pour chaque vertex du submesh. Plus de détails... | |
void | ComputeBitangents () |
Calcule la bitangente pour chaque vertex du submesh. Plus de détails... | |
void | SortFaces (Castor::Point3r const &p_ptCamera) |
Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails... | |
MeshRPtr | GetParent () const |
Récupère le mesh parent. Plus de détails... | |
void | Ref (MaterialSPtr p_material) |
Incrémente le compte d'instances. Plus de détails... | |
void | UnRef (MaterialSPtr p_material) |
Décrémente le compte d'instances. Plus de détails... | |
uint32_t | GetRefCount (MaterialSPtr p_material) const |
Récupère le nombre d'instances. Plus de détails... | |
uint32_t | GetProgramFlags () const |
Récupère les indicateurs de shader. Plus de détails... | |
Fonctions membres publiques hérités de Castor3D::Renderable< Submesh, SubmeshRenderer > | |
virtual | ~Renderable () |
Destructeur. Plus de détails... | |
virtual void | EndRender () |
Fonction de fin de rendu. Plus de détails... | |
virtual void | Render2D () |
renderer_sptr | GetRenderer () const |
Récupère le Renderer. Plus de détails... | |
virtual Engine * | GetEngine () const |
Récupère l'Engine. Plus de détails... | |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Castor3D::Renderable< Submesh, SubmeshRenderer > | |
Renderable (Engine *p_pEngine) | |
Constructeur. Plus de détails... | |
Renderable (Renderable< Submesh, SubmeshRenderer > const &p_copy) | |
Constructeur par copie. Plus de détails... | |
Renderable (Renderable< Submesh, SubmeshRenderer > &&p_copy) | |
Constructeur par déplacement. Plus de détails... | |
Renderable & | operator= (Renderable< Submesh, SubmeshRenderer > const &p_copy) |
Opérateur d'affectation par copie. Plus de détails... | |
Renderable & | operator= (Renderable< Submesh, SubmeshRenderer > &&p_copy) |
Opérateur d'affectation par déplacement. Plus de détails... | |
Attributs protégés hérités de Castor3D::Renderable< Submesh, SubmeshRenderer > | |
renderer_wptr | m_pRenderer |
Le renderer. Plus de détails... | |
Engine * | m_pEngine |
Le moteur. Plus de détails... | |
Representation d'un submesh.
Castor3D::Submesh::Submesh | ( | MeshRPtr | p_pMesh, |
Engine * | p_pEngine = nullptr , |
||
uint32_t | p_uiID = 1 |
||
) |
Constructeur.
[in] | p_pMesh | Le mesh parent |
[in] | p_pEngine | Le moteur |
[in] | p_uiID | L'ID du submesh |
Castor3D::Submesh::~Submesh | ( | ) |
Destructeur.
FaceSPtr Castor3D::Submesh::AddFace | ( | uint32_t | a, |
uint32_t | b, | ||
uint32_t | c | ||
) |
Crée et ajoute une face au submesh.
[in] | a | L'index du premier vertex |
[in] | b | L'index du second vertex |
[in] | c | L'index du troisième vertex |
void Castor3D::Submesh::AddFaceGroup | ( | stFACE_INDICES * | p_pFaces, |
uint32_t | p_uiNbFaces | ||
) |
Crée et ajoute une face au submesh.
[in] | p_arrayFaces | Les faces |
[in] | p_uiNbFaces | Le nombre de faces |
|
inline |
Crée et ajoute une face au submesh.
[in] | p_arrayFaces | Les faces |
BufferElementGroupSPtr Castor3D::Submesh::AddPoint | ( | real | x, |
real | y, | ||
real | z | ||
) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste.
[in] | x | Coordonnée X |
[in] | y | Coordonnée Y |
[in] | z | Coordonnée Y |
BufferElementGroupSPtr Castor3D::Submesh::AddPoint | ( | Castor::Point3r const & | p_v | ) |
Crée un Vertex à partir du point donné et l'ajoute à la liste.
[in] | p_v | Le point |
BufferElementGroupSPtr Castor3D::Submesh::AddPoint | ( | real * | p_v | ) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste.
[in] | p_v | Les coordonnées du point |
void Castor3D::Submesh::AddPoints | ( | stVERTEX_GROUP const & | p_vertices | ) |
Ajoute des points à la liste.
[in] | p_vertices | Les vertices |
void Castor3D::Submesh::AddQuadFace | ( | uint32_t | a, |
uint32_t | b, | ||
uint32_t | c, | ||
uint32_t | d, | ||
Castor::Point3r const & | p_ptMinUV = Castor::Point3r() , |
||
Castor::Point3r const & | p_ptMaxUV = Castor::Point3r(1, 1, 1) |
||
) |
Crée et ajoute une face à 4 côtés au submesh.
[in] | a | L'index du premier vertex |
[in] | b | L'index du second vertex |
[in] | c | L'index du troisième vertex |
[in] | d | L'index du quatrième vertex |
[in] | p_ptMinUV | L'UV du coin bas gauche |
[in] | p_ptMaxUV | L'UV du coin haut droit |
void Castor3D::Submesh::Cleanup | ( | ) |
Nettoie le submesh.
void Castor3D::Submesh::ClearFaces | ( | ) |
Vide le tableau de faces.
SubmeshSPtr Castor3D::Submesh::Clone | ( | ) |
Clône le submesh.
void Castor3D::Submesh::ComputeBitangents | ( | ) |
Calcule la bitangente pour chaque vertex du submesh.
void Castor3D::Submesh::ComputeContainers | ( | ) |
Calcule les conteneurs (cube et sphère)
void Castor3D::Submesh::ComputeFacesFromPolygonVertex | ( | ) |
Crée les faces à partir des points.
|
virtual |
Génère les normales et les tangentes.
void Castor3D::Submesh::ComputeNormals | ( | FaceSPtr | p_pFace | ) |
Calcule la normale et la tangente pour chaque vertex de la face donnée.
[in] | p_pFace | La face |
void Castor3D::Submesh::ComputeTangents | ( | FaceSPtr | p_pFace | ) |
Calcule la tangente pour chaque vertex de la face donnée.
[in] | p_pFace | La face |
void Castor3D::Submesh::ComputeTangentsFromBitangents | ( | ) |
Calcule la tangente pour chaque vertex du submesh.
void Castor3D::Submesh::ComputeTangentsFromNormals | ( | ) |
Calcule la tangente pour chaque vertex du submesh.
|
inline |
Récupère un itérateur sur le premier vertex du submesh.
|
inline |
Récupère un itérateur constant sur le premier vertex du submesh.
|
inline |
Récupère un itérateur sur la fin du tableau de vertex.
|
inline |
Récupère un itérateur constant sur la fin du tableau de vertex.
void Castor3D::Submesh::GenerateBuffers | ( | ) |
Genère les buffers 3D.
|
inline |
Récupère la boundig box cube.
|
inline |
Récupère la boundig box cube.
|
inline |
Récupère la BufferDeclaration.
|
inline |
Récupère le material.
|
inline |
Récupère récupère la face à l'index donné
[in] | p_uiIndex | L'index |
uint32_t Castor3D::Submesh::GetFaceCount | ( | ) | const |
|
inline |
Récupère le tableau de faces.
|
inline |
Récupère le tableau de faces.
|
inline |
Récupère le mesh parent.
|
inline |
Récupère le point à l'index donné
[in] | p_uiIndex | L'index |
|
inline |
Récupère le tableau de points.
|
inline |
Récupère le tableau de points.
uint32_t Castor3D::Submesh::GetPointsCount | ( | ) | const |
|
inline |
Récupère les indicateurs de shader.
uint32_t Castor3D::Submesh::GetRefCount | ( | MaterialSPtr | p_material | ) | const |
Récupère le nombre d'instances.
[in] | p_material | Le matériau pour lequel le compte est récupéré |
|
inline |
Récupère le squelette.
|
inline |
Récupère la bounding box sphere.
|
inline |
Récupère la bounding box sphere.
int Castor3D::Submesh::IsInMyPoints | ( | Castor::Point3r const & | p_vertex | ) |
Teste si le point donné fait partie de ceux de ce submesh.
[in] | p_vertex | Le point à tester |
|
inline |
Récupère le point à l'index donné
[in] | p_uiIndex | L'index |
void Castor3D::Submesh::Ref | ( | MaterialSPtr | p_material | ) |
Incrémente le compte d'instances.
[in] | p_material | Le matériau pour lequel le compte est incrémenté |
|
virtual |
Dessine le submesh.
Réimplémentée à partir de Castor3D::Renderable< Submesh, SubmeshRenderer >.
void Castor3D::Submesh::ResetGpuBuffers | ( | ) |
Recrée les Vertex et Index buffers.
|
inline |
Définit le material.
[in] | La | nouvelle valeur |
void Castor3D::Submesh::SortFaces | ( | Castor::Point3r const & | p_ptCamera | ) |
Trie les faces des plus éloignées aux plus proches de la caméra.
[in] | p_ptCamera | La position de la caméra, relative au submesh |
void Castor3D::Submesh::UnRef | ( | MaterialSPtr | p_material | ) |
Décrémente le compte d'instances.
[in] | p_material | Le matériau pour lequel le compte est décrémenté |
|
inline |
Récupère un itérateur sur le premier vertex du submesh.
|
inline |
Récupère un itérateur constant sur le premier vertex du submesh.
|
inline |
Récupère un itérateur sur la fin du tableau de vertex.
|
inline |
Récupère un itérateur constant sur la fin du tableau de vertex.