Castor3D
..
|
Representation d'un sous-maillage. Plus de détails...
Fonctions membres publiques | |
C3D_API | Submesh (Scene &scene, Mesh &mesh, uint32_t 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 void | updateContainers (castor::BoundingBox const &boundingBox) |
Met à jour les conteneurs depuis la bounding box donnée. Plus de détails... | |
C3D_API uint32_t | getFaceCount () const |
C3D_API uint32_t | getPointsCount () const |
C3D_API int | isInMyPoints (castor::Point3r const &position, double 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 &value) |
Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails... | |
C3D_API BufferElementGroupSPtr | addPoint (real *value) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
C3D_API void | addPoints (InterleavedVertex const *const begin, InterleavedVertex const *const end) |
Ajoute des points à la liste. Plus de détails... | |
C3D_API void | draw (GeometryBuffers const &geometryBuffers) |
Dessine le sous-maillage. Plus de détails... | |
C3D_API void | drawInstanced (GeometryBuffers const &geometryBuffers, uint32_t count) |
Dessine le sous-maillage. Plus de détails... | |
C3D_API void | computeNormals (bool reverted=false) |
Génère les normales et les tangentes. Plus de détails... | |
C3D_API void | sortByDistance (castor::Point3r const &cameraPosition) |
Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails... | |
C3D_API ProgramFlags | getProgramFlags () const |
C3D_API void | setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update) |
Définit le materiau. Plus de détails... | |
C3D_API void | gatherBuffers (VertexBufferArray &buffers) |
Récupère les tampons qui doivent aller dans un VAO. Plus de détails... | |
void | addPoints (std::vector< InterleavedVertex > const &vertices) |
Ajoute des points à la liste. Plus de détails... | |
template<size_t Count> | |
void | addPoints (std::array< InterleavedVertex, Count > const &vertices) |
Ajoute des points à la liste. Plus de détails... | |
SkeletonSPtr | getSkeleton () const |
void | setDefaultMaterial (MaterialSPtr material) |
Définit le material. Plus de détails... | |
BufferElementGroupSPtr | operator[] (uint32_t index) const |
Récupère le point à l'index donné Plus de détails... | |
BufferElementGroupSPtr | getPoint (uint32_t index) const |
Récupère le point à l'index donné Plus de détails... | |
MaterialSPtr | getDefaultMaterial () const |
castor::BoundingBox const & | getBoundingBox () const |
castor::BoundingBox & | getBoundingBox () |
castor::BoundingSphere const & | getBoundingSphere () const |
castor::BoundingSphere & | getBoundingSphere () |
VertexPtrArray const & | getPoints () const |
VertexPtrArray & | getPoints () |
VertexBuffer const & | getVertexBuffer () const |
VertexBuffer & | getVertexBuffer () |
IndexBuffer const & | getIndexBuffer () const |
IndexBuffer & | getIndexBuffer () |
bool | isInitialised () const |
Mesh const & | getParent () const |
Mesh & | getParent () |
uint32_t | getId () const |
void | needsUpdate () |
Dit que le sous-maillage doit être mis à jour. Plus de détails... | |
void | setIndexMapping (IndexMappingSPtr mapping) |
Définit le mappage d'indices. Plus de détails... | |
bool | hasComponent (castor::String const &name) const |
Vérifie si un composant existe. Plus de détails... | |
void | addComponent (castor::String const &name, SubmeshComponentSPtr component) |
Ajoute un composant. Plus de détails... | |
template<typename T > | |
void | addComponent (std::shared_ptr< T > component) |
Ajoute un composant. Plus de détails... | |
SubmeshComponentSPtr | getComponent (castor::String const &name) const |
Trouve un composant. Plus de détails... | |
template<typename T > | |
std::shared_ptr< T > | getComponent () const |
Trouve un composant. return Le composant, nullptr si non trouvé. Plus de détails... | |
InstantiationComponent & | getInstantiation () |
InstantiationComponent const & | getInstantiation () const |
BonesInstantiationComponent & | getInstantiatedBones () |
BonesInstantiationComponent const & | getInstantiatedBones () const |
SubmeshComponentStrMap const & | getComponents () const |
Topology | getTopology () const |
void | setTopology (Topology value) |
Définit la topologie. Plus de détails... | |
Amis | |
template<typename T > | |
struct | SubmeshComponentAdder |
class | GeometryBuffers |
class | BinaryWriter< Submesh > |
class | BinaryParser< Submesh > |
Representation d'un sous-maillage.
Constructeur.
[in] | mesh | Le mesh parent. |
[in] | scene | La scène. |
[in] | id | L'ID du sous-maillage. |
C3D_API castor3d::Submesh::~Submesh | ( | ) |
Destructeur.
|
inline |
Ajoute un composant.
[in] | name | Le nom du composant. |
[in] | component | Le composant. |
|
inline |
Ajoute un composant.
[in] | component | Le composant. |
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 & | value | ) |
Crée un Vertex à partir du point donné et l'ajoute à la liste.
[in] | value | Le point |
C3D_API BufferElementGroupSPtr castor3d::Submesh::addPoint | ( | real * | value | ) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste.
[in] | value | Les coordonnées du point |
C3D_API void castor3d::Submesh::addPoints | ( | InterleavedVertex const *const | begin, |
InterleavedVertex const *const | end | ||
) |
Ajoute des points à la liste.
[in] | begin | Le début des données de sommets. |
[in] | end | La fin des données de sommets. |
|
inline |
Ajoute des points à la liste.
[in] | vertices | Les vertices |
|
inline |
Ajoute des points à la liste.
[in] | vertices | Les vertices |
C3D_API void castor3d::Submesh::cleanup | ( | ) |
Nettoie le sous-maillage.
C3D_API void castor3d::Submesh::computeContainers | ( | ) |
Calcule les conteneurs (cube et sphère)
C3D_API void castor3d::Submesh::computeNormals | ( | bool | reverted = false | ) |
Génère les normales et les tangentes.
C3D_API void castor3d::Submesh::draw | ( | GeometryBuffers const & | geometryBuffers | ) |
Dessine le sous-maillage.
[in] | geometryBuffers | Les tampons de géométrie utilisés pour dessiner ce sous-maillage. |
C3D_API void castor3d::Submesh::drawInstanced | ( | GeometryBuffers const & | geometryBuffers, |
uint32_t | count | ||
) |
Dessine le sous-maillage.
[in] | geometryBuffers | Les tampons de géométrie utilisés pour dessiner ce sous-maillage. |
[in] | count | Le nombre d'instances. |
C3D_API void castor3d::Submesh::gatherBuffers | ( | VertexBufferArray & | buffers | ) |
Récupère les tampons qui doivent aller dans un VAO.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Trouve un composant.
[in] | name | Le nom du composant. return Le composant, nullptr si non trouvé. |
|
inline |
Trouve un composant. return Le composant, nullptr si non trouvé.
|
inline |
return Les composants.
|
inline |
C3D_API uint32_t castor3d::Submesh::getFaceCount | ( | ) | const |
|
inline |
Référencé par castor3d::MeshAnimationKeyFrame::find().
|
inline |
|
inline |
|
inline |
return Le composant d'instantiation.
|
inline |
return Le composant d'instantiation.
|
inline |
return Le composant d'instantiation.
|
inline |
return Le composant d'instantiation.
|
inline |
|
inline |
|
inline |
Récupère le point à l'index donné
[in] | index | L'index |
|
inline |
|
inline |
C3D_API uint32_t castor3d::Submesh::getPointsCount | ( | ) | const |
C3D_API ProgramFlags castor3d::Submesh::getProgramFlags | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Vérifie si un composant existe.
[in] | name | Le nom du composant. |
C3D_API void castor3d::Submesh::initialise | ( | ) |
Initialise le sous-maillage.
|
inline |
C3D_API int castor3d::Submesh::isInMyPoints | ( | castor::Point3r const & | position, |
double | precision | ||
) |
Teste si le point donné fait partie de ceux de ce sous-maillage.
[in] | position | Le point à tester |
[in] | precision | La précision de comparaison |
|
inline |
Dit que le sous-maillage doit être mis à jour.
|
inline |
Récupère le point à l'index donné
[in] | index | L'index |
|
inline |
Définit le material.
[in] | material | La nouvelle valeur |
|
inline |
Définit le mappage d'indices.
[in] | mapping | Le mappage. |
C3D_API void castor3d::Submesh::setMaterial | ( | MaterialSPtr | oldMaterial, |
MaterialSPtr | newMaterial, | ||
bool | update | ||
) |
Définit le materiau.
[in] | oldMaterial | Le matériau précédent. |
[in] | newMaterial | Le nouveau matériau. |
[in] | update | Dit si les tampons doivent être mis à jour. |
true
if the material is changed.
|
inline |
Définit la topologie.
[in] | value | La nouvelle valeur. |
C3D_API void castor3d::Submesh::sortByDistance | ( | castor::Point3r const & | cameraPosition | ) |
Trie les faces des plus éloignées aux plus proches de la caméra.
[in] | cameraPosition | La position de la caméra, relative au sous-maillage |
C3D_API void castor3d::Submesh::updateContainers | ( | castor::BoundingBox const & | boundingBox | ) |
Met à jour les conteneurs depuis la bounding box donnée.
|
friend |
|
friend |
|
friend |
|
friend |