Castor3D
0.11.0
Multiplatform 3D engine
|
Fonctions membres publiques | |
C3D_API | Submesh (Mesh &mesh, uint32_t id=1) |
Constructeur. Plus de détails... | |
C3D_API | ~Submesh () |
Destructeur. Plus de détails... | |
C3D_API void | initialise (RenderDevice const &device) |
Initialise le sous-maillage. Plus de détails... | |
C3D_API void | cleanup () |
Nettoie le sous-maillage. Plus de détails... | |
C3D_API void | update () |
Met à jour les tampons. 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::Point3f const &position, double precision) |
Teste si le point donné fait partie de ceux de ce sous-maillage. Plus de détails... | |
C3D_API InterleavedVertex | addPoint (float x, float y, float z) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
C3D_API InterleavedVertex | addPoint (castor::Point3f const &value) |
Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails... | |
C3D_API InterleavedVertex | addPoint (float *value) |
Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails... | |
C3D_API void | addPoint (InterleavedVertex const &value) |
Ajoute un sommet à 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 | computeNormals (bool reverted=false) |
Génère les normales et les tangentes. Plus de détails... | |
C3D_API void | sortByDistance (castor::Point3f const &cameraPosition) |
Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails... | |
C3D_API ProgramFlags | getProgramFlags (MaterialSPtr material) const |
C3D_API void | setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update) |
Définit le materiau. Plus de détails... | |
C3D_API GeometryBuffers const & | getGeometryBuffers (MaterialSPtr material, uint32_t instanceMult, TextureFlagsArray const &mask) const |
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... | |
void | setDefaultMaterial (MaterialSPtr material) |
Définit le material. Plus de détails... | |
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... | |
IndexMappingSPtr | getIndexMapping () const |
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... | |
void | setTopology (VkPrimitiveTopology value) |
Définit la topologie. Plus de détails... | |
Amis | |
template<typename T > | |
struct | SubmeshComponentAdder |
class | BinaryWriter< Submesh > |
class | BinaryParser< Submesh > |
static uint32_t constexpr | Position = 0u |
static uint32_t constexpr | Normal = 1u |
static uint32_t constexpr | Tangent = 2u |
static uint32_t constexpr | Bitangent = 3u |
static uint32_t constexpr | Texture = 4u |
SkeletonSPtr | getSkeleton () const |
InterleavedVertex const & | operator[] (uint32_t index) const |
InterleavedVertex & | operator[] (uint32_t index) |
InterleavedVertex const & | getPoint (uint32_t index) const |
InterleavedVertex & | getPoint (uint32_t index) |
MaterialSPtr | getDefaultMaterial () const |
castor::BoundingBox const & | getBoundingBox () const |
castor::BoundingBox & | getBoundingBox () |
castor::BoundingSphere const & | getBoundingSphere () const |
castor::BoundingSphere & | getBoundingSphere () |
InterleavedVertexArray const & | getPoints () const |
InterleavedVertexArray & | getPoints () |
bool | hasVertexBuffer () const |
ashes::VertexBuffer< InterleavedVertex > const & | getVertexBuffer () const |
ashes::VertexBuffer< InterleavedVertex > & | getVertexBuffer () |
bool | hasVertexLayout () const |
ashes::PipelineVertexInputStateCreateInfo const & | getVertexLayout () const |
bool | hasIndexBuffer () const |
ashes::Buffer< uint32_t > const & | getIndexBuffer () const |
ashes::Buffer< uint32_t > & | getIndexBuffer () |
bool | isInitialised () const |
Mesh const & | getParent () const |
Mesh & | getParent () |
uint32_t | getId () const |
bool | hasComponent (castor::String const &name) const |
SubmeshComponentSPtr | getComponent (castor::String const &name) const |
template<typename T > | |
std::shared_ptr< T > | getComponent () const |
InstantiationComponent & | getInstantiation () |
InstantiationComponent const & | getInstantiation () const |
BonesInstantiationComponent & | getInstantiatedBones () |
BonesInstantiationComponent const & | getInstantiatedBones () const |
SubmeshComponentStrMap const & | getComponents () const |
VkPrimitiveTopology | getTopology () const |
Constructeur.
[in] | mesh | Le mesh parent. |
[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 InterleavedVertex castor3d::Submesh::addPoint | ( | float | x, |
float | y, | ||
float | 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 InterleavedVertex castor3d::Submesh::addPoint | ( | castor::Point3f const & | value | ) |
Crée un Vertex à partir du point donné et l'ajoute à la liste.
[in] | value | Le point |
C3D_API InterleavedVertex castor3d::Submesh::addPoint | ( | float * | 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::addPoint | ( | InterleavedVertex const & | value | ) |
Ajoute un sommet à la liste.
[in] | value | Le sommet. |
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API uint32_t castor3d::Submesh::getFaceCount | ( | ) | const |
C3D_API GeometryBuffers const& castor3d::Submesh::getGeometryBuffers | ( | MaterialSPtr | material, |
uint32_t | instanceMult, | ||
TextureFlagsArray const & | mask | ||
) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API uint32_t castor3d::Submesh::getPointsCount | ( | ) | const |
C3D_API ProgramFlags castor3d::Submesh::getProgramFlags | ( | MaterialSPtr | material | ) | const |
|
inline |
name Accesseurs.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::Submesh::initialise | ( | RenderDevice const & | device | ) |
Initialise le sous-maillage.
|
inline |
C3D_API int castor3d::Submesh::isInMyPoints | ( | castor::Point3f 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 |
|
inline |
|
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::Point3f 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::update | ( | ) |
Met à jour les tampons.
C3D_API void castor3d::Submesh::updateContainers | ( | castor::BoundingBox const & | boundingBox | ) |
Met à jour les conteneurs depuis la bounding box donnée.
|
friend |
|
friend |
|
friend |
|
static |
|
static |
|
static |
|
static |
|
static |