Castor3D
0.11.0
Multiplatform 3D engine
|
Classes | |
struct | Data |
Types publics | |
using | DataArray = std::vector< Data > |
using | InstanceDataMap = std::map< MaterialSPtr, DataArray > |
Fonctions membres publiques | |
C3D_API | InstantiationComponent (Submesh &submesh, uint32_t threshold=1u) |
Constructeur. Plus de détails... | |
C3D_API uint32_t | ref (MaterialSPtr material) |
Incrémente le compte d'instances. Plus de détails... | |
C3D_API uint32_t | unref (MaterialSPtr material) |
Décrémente le compte d'instances. Plus de détails... | |
C3D_API uint32_t | getRefCount (MaterialSPtr material) const |
Récupère le nombre d'instances. Plus de détails... | |
bool | isInstanced (MaterialSPtr material) const |
C3D_API uint32_t | getMaxRefCount () const |
C3D_API void | gather (MaterialSPtr material, ashes::BufferCRefArray &buffers, std::vector< uint64_t > &offsets, ashes::PipelineVertexInputStateCreateInfoCRefArray &layouts, uint32_t instanceMult) override |
Récupère les tampons qui doivent aller dans un VAO. Plus de détails... | |
C3D_API void | setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update) override |
Définit le materiau. Plus de détails... | |
C3D_API InstanceDataMap::const_iterator | find (MaterialSPtr material, uint32_t instanceMult) const |
C3D_API InstanceDataMap::iterator | find (MaterialSPtr material, uint32_t instanceMult) |
C3D_API ProgramFlags | getProgramFlags (MaterialSPtr material) const override |
uint32_t | getThreshold () const |
InstanceDataMap::const_iterator | end () const |
InstanceDataMap::iterator | end () |
InstanceDataMap::const_iterator | find (MaterialSPtr material) const |
InstanceDataMap::iterator | find (MaterialSPtr material) |
uint32_t | getIndex (uint32_t instanceMult) const |
Fonctions membres publiques hérités de castor3d::SubmeshComponent | |
C3D_API | SubmeshComponent (Submesh &submesh, castor::String const &type) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~SubmeshComponent () noexcept=default |
Destructeur. Plus de détails... | |
C3D_API bool | 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 | fill (RenderDevice const &device) |
Initialise le sous-maillage. Plus de détails... | |
C3D_API void | upload () |
Met les données en VRAM. Plus de détails... | |
castor::String const & | getType () const |
void | needsUpdate () |
Attributs publics statiques | |
static C3D_API castor::String const | Name |
static C3D_API uint32_t constexpr | BindingPoint = 2u |
using castor3d::InstantiationComponent::DataArray = std::vector< Data > |
using castor3d::InstantiationComponent::InstanceDataMap = std::map< MaterialSPtr, DataArray > |
|
explicit |
Constructeur.
[in] | submesh | Le sous-maillage parent. |
[in] | threshold | Le seuil à partir duquel un sous-maillage sera instancié. |
|
inline |
|
inline |
C3D_API InstanceDataMap::const_iterator castor3d::InstantiationComponent::find | ( | MaterialSPtr | material, |
uint32_t | instanceMult | ||
) | const |
name Accesseurs.
C3D_API InstanceDataMap::iterator castor3d::InstantiationComponent::find | ( | MaterialSPtr | material, |
uint32_t | instanceMult | ||
) |
|
inline |
|
inline |
|
overridevirtual |
Récupère les tampons qui doivent aller dans un VAO.
Implémente castor3d::SubmeshComponent.
|
inline |
C3D_API uint32_t castor3d::InstantiationComponent::getMaxRefCount | ( | ) | const |
|
overridevirtual |
Implémente castor3d::SubmeshComponent.
C3D_API uint32_t castor3d::InstantiationComponent::getRefCount | ( | MaterialSPtr | material | ) | const |
Récupère le nombre d'instances.
[in] | material | Le matériau pour lequel le compte est récupéré |
Référencé par isInstanced().
|
inline |
|
inline |
[in] | material | Le matériau. |
true
si le nombre d'instances pour le matériau donné est plus grand que le seuil. Références getRefCount(), et getThreshold().
C3D_API uint32_t castor3d::InstantiationComponent::ref | ( | MaterialSPtr | material | ) |
Incrémente le compte d'instances.
[in] | material | Le matériau pour lequel le compte est incrémenté. |
|
overridevirtual |
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. |
Réimplémentée à partir de castor3d::SubmeshComponent.
C3D_API uint32_t castor3d::InstantiationComponent::unref | ( | MaterialSPtr | material | ) |
Décrémente le compte d'instances.
[in] | material | Le matériau pour lequel le compte est décrémenté. |
|
static |
|
static |