Castor3D
..
|
Representation d'un sous-maillage. Plus de détails...
Classes | |
class | BinaryParser |
class | TextLoader |
Loader texte de Submesh. Plus de détails... | |
Fonctions membres publiques | |
C3D_API | Submesh (Engine &p_engine, MeshRPtr p_mesh, uint32_t p_id=1) |
Constructeur. Plus de détails... | |
C3D_API | ~Submesh () |
Destructeur. Plus de détails... | |
C3D_API void | Initialise () |
Initialise le sous-maillage. Plus de détails... | |
C3D_API void | Cleanup () |
Nettoie le sous-maillage. Plus de détails... | |
C3D_API void | ComputeContainers () |
Calcule les conteneurs (cube et sphère) Plus de détails... | |
C3D_API uint32_t | GetFaceCount () const |
C3D_API uint32_t | GetPointsCount () const |
C3D_API int | IsInMyPoints (Castor::Point3r const &p_vertex, double p_precision) |
Teste si le point donné fait partie de ceux de ce sous-maillage. Plus de détails... | |
C3D_API 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... | |
C3D_API BufferElementGroupSPtr | AddPoint (Castor::Point3r const &p_v) |
Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails... | |
C3D_API BufferElementGroupSPtr | AddPoint (real *p_v) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
C3D_API void | AddPoints (stVERTEX_GROUP const &p_vertices) |
Ajoute des points à la liste. Plus de détails... | |
C3D_API void | AddBoneDatas (stVERTEX_BONE_DATA const *const p_boneDataBegin, stVERTEX_BONE_DATA const *const p_boneDataEnd) |
Ajoute des données de bones. Plus de détails... | |
void | AddBoneDatas (stVERTEX_BONE_DATA const *const p_boneData, uint32_t p_count) |
Ajoute des données de bones. Plus de détails... | |
void | AddBoneDatas (std::vector< stVERTEX_BONE_DATA > const &p_boneData) |
Ajoute des données de bones. Plus de détails... | |
template<uint32_t Count> | |
void | AddBoneDatas (stVERTEX_BONE_DATA const (&p_boneData)[Count]) |
Ajoute des données de bones. Plus de détails... | |
C3D_API void | ClearFaces () |
Vide le tableau de faces. Plus de détails... | |
C3D_API Face | AddFace (uint32_t a, uint32_t b, uint32_t c) |
Crée et ajoute une face au sous-maillage. Plus de détails... | |
C3D_API void | AddFaceGroup (stFACE_INDICES *p_faces, uint32_t p_count) |
Crée et ajoute une face au sous-maillage. Plus de détails... | |
C3D_API void | AddQuadFace (uint32_t a, uint32_t b, uint32_t c, uint32_t d, Castor::Point3r const &p_minUV=Castor::Point3r(), Castor::Point3r const &p_maxUV=Castor::Point3r(1, 1, 1)) |
Crée et ajoute une face à 4 côtés au sous-maillage. Plus de détails... | |
C3D_API SubmeshSPtr | Clone () |
Clône le sous-maillage. Plus de détails... | |
C3D_API void | ResetGpuBuffers () |
Recrée les Vertex et Index buffers. Plus de détails... | |
C3D_API void | Draw (ShaderProgram const &p_program) |
Dessine le sous-maillage. Plus de détails... | |
C3D_API void | DrawInstanced (ShaderProgram const &p_program, uint32_t p_count) |
Dessine le sous-maillage. Plus de détails... | |
C3D_API void | ComputeFacesFromPolygonVertex () |
Crée les faces à partir des points. Plus de détails... | |
C3D_API void | ComputeNormals (bool p_reverted=false) |
Génère les normales et les tangentes. Plus de détails... | |
C3D_API void | ComputeNormals (Face const &p_face) |
Calcule la normale et la tangente pour chaque vertex de la face donnée. Plus de détails... | |
C3D_API void | ComputeTangents (Face const &p_face) |
Calcule la tangente pour chaque vertex de la face donnée. Plus de détails... | |
C3D_API void | ComputeTangentsFromNormals () |
Calcule la tangente pour chaque vertex du sous-maillage. Plus de détails... | |
C3D_API void | ComputeTangentsFromBitangents () |
Calcule la tangente pour chaque vertex du sous-maillage. Plus de détails... | |
C3D_API void | ComputeBitangents () |
Calcule la bitangente pour chaque vertex du sous-maillage. Plus de détails... | |
C3D_API void | SortFaces (Castor::Point3r const &p_cameraPosition) |
Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails... | |
C3D_API void | Ref (MaterialSPtr p_material) |
Incrémente le compte d'instances. Plus de détails... | |
C3D_API void | UnRef (MaterialSPtr p_material) |
Décrémente le compte d'instances. Plus de détails... | |
C3D_API uint32_t | GetRefCount (MaterialSPtr p_material) const |
Récupère le nombre d'instances. Plus de détails... | |
C3D_API eTOPOLOGY | GetTopology () const |
C3D_API void | SetTopology (eTOPOLOGY p_value) |
Définit la topologie. 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_index) const |
Récupère le point à l'index donné Plus de détails... | |
BufferElementGroupSPtr | GetPoint (uint32_t p_index) 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... | |
Face const & | GetFace (uint32_t p_index) const |
Récupère récupère la face à l'index donné Plus de détails... | |
FaceArray const & | GetFaces () const |
Récupère le tableau de faces. Plus de détails... | |
FaceArray & | GetFaces () |
Récupère le tableau de faces. Plus de détails... | |
bool | HasVertexBuffer () const |
bool | HasIndexBuffer () const |
bool | HasBonesBuffer () const |
bool | HasMatrixBuffer () const |
VertexBuffer const & | GetVertexBuffer () const |
VertexBuffer & | GetVertexBuffer () |
IndexBuffer const & | GetIndexBuffer () const |
IndexBuffer & | GetIndexBuffer () |
VertexBuffer const & | GetBonesBuffer () const |
VertexBuffer & | GetBonesBuffer () |
VertexBuffer const & | GetMatrixBuffer () const |
VertexBuffer & | GetMatrixBuffer () |
bool | IsInitialised () const |
Récupère le statut d'initialisation. Plus de détails... | |
MeshRPtr | GetParent () const |
Récupère le mesh parent. Plus de détails... | |
uint32_t | GetProgramFlags () const |
Récupère les indicateurs de shader. Plus de détails... | |
template<uint32_t Count> | |
void | AddFaceGroup (stFACE_INDICES(&p_faces)[Count]) |
Crée et ajoute une face au sous-maillage. Plus de détails... | |
Amis | |
class | GeometryBuffers |
Representation d'un sous-maillage.
C3D_API Castor3D::Submesh::Submesh | ( | Engine & | p_engine, |
MeshRPtr | p_mesh, | ||
uint32_t | p_id = 1 |
||
) |
Constructeur.
[in] | p_mesh | Le mesh parent |
[in] | p_engine | Le moteur |
[in] | p_id | L'ID du sous-maillage |
C3D_API Castor3D::Submesh::~Submesh | ( | ) |
Destructeur.
C3D_API void Castor3D::Submesh::AddBoneDatas | ( | stVERTEX_BONE_DATA const *const | p_boneDataBegin, |
stVERTEX_BONE_DATA const *const | p_boneDataEnd | ||
) |
Ajoute des données de bones.
[in] | p_boneDataBegin | Le début des données de bones. |
[in] | p_boneDataEnd | La fin des données de bones. |
Référencé par AddBoneDatas().
|
inline |
Ajoute des données de bones.
[in] | p_boneData | Les données de bones. |
[in] | p_count | Les compte des données. |
Références AddBoneDatas().
|
inline |
Ajoute des données de bones.
[in] | p_boneData | Les données de bones. |
Références AddBoneDatas().
|
inline |
Ajoute des données de bones.
[in] | p_boneData | Les données de bones. |
Références AddBoneDatas(), AddFace(), AddFaceGroup(), AddQuadFace(), ClearFaces(), Clone(), ComputeBitangents(), ComputeFacesFromPolygonVertex(), ComputeNormals(), ComputeTangents(), ComputeTangentsFromBitangents(), ComputeTangentsFromNormals(), Draw(), DrawInstanced(), GetRefCount(), GetTopology(), Ref(), ResetGpuBuffers(), SetTopology(), SortFaces(), et UnRef().
C3D_API Face Castor3D::Submesh::AddFace | ( | uint32_t | a, |
uint32_t | b, | ||
uint32_t | c | ||
) |
Crée et ajoute une face au sous-maillage.
[in] | a | L'index du premier vertex |
[in] | b | L'index du second vertex |
[in] | c | L'index du troisième vertex |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::AddFaceGroup | ( | stFACE_INDICES * | p_faces, |
uint32_t | p_count | ||
) |
Crée et ajoute une face au sous-maillage.
[in] | p_faces | Les faces |
[in] | p_count | Le nombre de faces |
Référencé par AddBoneDatas(), et AddFaceGroup().
|
inline |
Crée et ajoute une face au sous-maillage.
[in] | p_faces | Les faces |
Références AddFaceGroup().
C3D_API 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 |
C3D_API 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 |
C3D_API 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 |
C3D_API void Castor3D::Submesh::AddPoints | ( | stVERTEX_GROUP const & | p_vertices | ) |
Ajoute des points à la liste.
[in] | p_vertices | Les vertices |
C3D_API void Castor3D::Submesh::AddQuadFace | ( | uint32_t | a, |
uint32_t | b, | ||
uint32_t | c, | ||
uint32_t | d, | ||
Castor::Point3r const & | p_minUV = Castor::Point3r() , |
||
Castor::Point3r const & | p_maxUV = Castor::Point3r(1, 1, 1) |
||
) |
Crée et ajoute une face à 4 côtés au sous-maillage.
[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_minUV | L'UV du coin bas gauche |
[in] | p_maxUV | L'UV du coin haut droit |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::Cleanup | ( | ) |
Nettoie le sous-maillage.
C3D_API void Castor3D::Submesh::ClearFaces | ( | ) |
Vide le tableau de faces.
Référencé par AddBoneDatas().
C3D_API SubmeshSPtr Castor3D::Submesh::Clone | ( | ) |
Clône le sous-maillage.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeBitangents | ( | ) |
Calcule la bitangente pour chaque vertex du sous-maillage.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeContainers | ( | ) |
Calcule les conteneurs (cube et sphère)
C3D_API void Castor3D::Submesh::ComputeFacesFromPolygonVertex | ( | ) |
Crée les faces à partir des points.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeNormals | ( | bool | p_reverted = false | ) |
Génère les normales et les tangentes.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeNormals | ( | Face const & | p_face | ) |
Calcule la normale et la tangente pour chaque vertex de la face donnée.
[in] | p_face | La face |
C3D_API void Castor3D::Submesh::ComputeTangents | ( | Face const & | p_face | ) |
Calcule la tangente pour chaque vertex de la face donnée.
[in] | p_face | La face |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeTangentsFromBitangents | ( | ) |
Calcule la tangente pour chaque vertex du sous-maillage.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ComputeTangentsFromNormals | ( | ) |
Calcule la tangente pour chaque vertex du sous-maillage.
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::Draw | ( | ShaderProgram const & | p_program | ) |
Dessine le sous-maillage.
[in] | p_program | Le programme shader. |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::DrawInstanced | ( | ShaderProgram const & | p_program, |
uint32_t | p_count | ||
) |
Dessine le sous-maillage.
[in] | p_program | Le programme shader. |
[in] | p_count | Le nombre d'instances. |
Référencé par AddBoneDatas().
|
inline |
|
inline |
|
inline |
Récupère la boundig box cube.
|
inline |
Récupère la boundig box cube.
|
inline |
Récupère le material.
|
inline |
Récupère récupère la face à l'index donné
[in] | p_index | L'index |
C3D_API uint32_t Castor3D::Submesh::GetFaceCount | ( | ) | const |
|
inline |
Récupère le tableau de faces.
|
inline |
Récupère le tableau de faces.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Récupère le mesh parent.
Référencé par GetSkeleton().
|
inline |
Récupère le point à l'index donné
[in] | p_index | L'index |
|
inline |
Récupère le tableau de points.
|
inline |
Récupère le tableau de points.
C3D_API uint32_t Castor3D::Submesh::GetPointsCount | ( | ) | const |
|
inline |
Récupère les indicateurs de shader.
C3D_API 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é |
Référencé par AddBoneDatas().
|
inline |
Récupère le squelette.
Références GetParent().
|
inline |
Récupère la bounding box sphere.
|
inline |
Récupère la bounding box sphere.
C3D_API eTOPOLOGY Castor3D::Submesh::GetTopology | ( | ) | const |
Référencé par AddBoneDatas().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void Castor3D::Submesh::Initialise | ( | ) |
Initialise le sous-maillage.
|
inline |
Récupère le statut d'initialisation.
true
si initialisé C3D_API int Castor3D::Submesh::IsInMyPoints | ( | Castor::Point3r const & | p_vertex, |
double | p_precision | ||
) |
Teste si le point donné fait partie de ceux de ce sous-maillage.
[in] | p_vertex | Le point à tester |
[in] | p_precision | La précision de comparaison |
|
inline |
Récupère le point à l'index donné
[in] | p_index | L'index |
C3D_API 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é |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::ResetGpuBuffers | ( | ) |
Recrée les Vertex et Index buffers.
Référencé par AddBoneDatas().
|
inline |
Définit le material.
[in] | p_mat | La nouvelle valeur |
C3D_API void Castor3D::Submesh::SetTopology | ( | eTOPOLOGY | p_value | ) |
Définit la topologie.
[in] | p_value | La nouvelle valeur. |
Référencé par AddBoneDatas().
C3D_API void Castor3D::Submesh::SortFaces | ( | Castor::Point3r const & | p_cameraPosition | ) |
Trie les faces des plus éloignées aux plus proches de la caméra.
[in] | p_cameraPosition | La position de la caméra, relative au sous-maillage |
Référencé par AddBoneDatas().
C3D_API 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é |
Référencé par AddBoneDatas().
|
friend |