Castor3D  ..
Types publics | Fonctions membres publiques | Attributs protégés | Liste de tous les membres
Référence de la classe Castor3D::ParticleSystemImplabstract

Classe de base de l'implémentation d'un système de particules. Plus de détails...

+ Graphe d'héritage de Castor3D::ParticleSystemImpl:
+ Graphe de collaboration de Castor3D::ParticleSystemImpl:

Types publics

enum  Type { Type::eCpu, Type::eTransformFeedback, Type::eComputeShader }
 Enumération des types d'implémentation de système de particules. Plus de détails...
 

Fonctions membres publiques

C3D_API ParticleSystemImpl (Type p_type, ParticleSystem &p_parent)
 Constructeur. Plus de détails...
 
virtual C3D_API ~ParticleSystemImpl ()
 Destructeur. Plus de détails...
 
virtual C3D_API bool Initialise ()=0
 Initialise l'implémentation. Plus de détails...
 
virtual C3D_API void Cleanup ()=0
 Nettoie l'implémentation. Plus de détails...
 
virtual C3D_API void AddParticleVariable (Castor::String const &p_name, ElementType p_type, Castor::String const &p_defaultValue)=0
 Ajoute une variable de particule. Plus de détails...
 
virtual C3D_API uint32_t Update (std::chrono::milliseconds const &p_time, std::chrono::milliseconds const &p_total)=0
 Met à jour les particules. Plus de détails...
 
Type GetType ()
 
ParticleSystem const & GetParent () const
 

Attributs protégés

ParticleSystemm_parent
 
Type m_type
 

Description détaillée

Classe de base de l'implémentation d'un système de particules.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
21/11/2016

Documentation des énumérations membres

◆ Type

Enumération des types d'implémentation de système de particules.

Auteur
Sylvain DOREMUS
Version
0.9.0
Date
16/11/2016
Valeurs énumérées
eCpu 

Les particules sont mises à jour sur le CPU.

eTransformFeedback 

Les particules sont mises à jour en utilisant les geometry shaders et le Transform feedback.

eComputeShader 

Les particules sont mises à jour en utilisant un compute shader.

Documentation des constructeurs et destructeur

◆ ParticleSystemImpl()

C3D_API Castor3D::ParticleSystemImpl::ParticleSystemImpl ( Type  p_type,
ParticleSystem p_parent 
)

Constructeur.

Paramètres
[in]p_typeLe type d'implémentation.
[in]p_parentLe système de particules parent.

◆ ~ParticleSystemImpl()

virtual C3D_API Castor3D::ParticleSystemImpl::~ParticleSystemImpl ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ AddParticleVariable()

virtual C3D_API void Castor3D::ParticleSystemImpl::AddParticleVariable ( Castor::String const &  p_name,
ElementType  p_type,
Castor::String const &  p_defaultValue 
)
pure virtual

Ajoute une variable de particule.

Paramètres
[in]p_nameLe nom de la variable.
[in]p_typeLe type de la variable.
[in]p_defaultValueLa valeur par défaut de la variable.

Implémenté dans Castor3D::ComputeParticleSystem, Castor3D::TransformFeedbackParticleSystem, et Castor3D::CpuParticleSystem.

◆ Cleanup()

virtual C3D_API void Castor3D::ParticleSystemImpl::Cleanup ( )
pure virtual

◆ GetParent()

ParticleSystem const& Castor3D::ParticleSystemImpl::GetParent ( ) const
inline
Renvoie
Le système de particules parent.

Références m_parent.

◆ GetType()

Type Castor3D::ParticleSystemImpl::GetType ( )
inline
Renvoie
Le type d'implémentation.

Références m_type.

◆ Initialise()

virtual C3D_API bool Castor3D::ParticleSystemImpl::Initialise ( )
pure virtual

Initialise l'implémentation.

Renvoie
true si tout s'est bien passé.

Implémenté dans Castor3D::ComputeParticleSystem, Castor3D::TransformFeedbackParticleSystem, et Castor3D::CpuParticleSystem.

◆ Update()

virtual C3D_API uint32_t Castor3D::ParticleSystemImpl::Update ( std::chrono::milliseconds const &  p_time,
std::chrono::milliseconds const &  p_total 
)
pure virtual

Met à jour les particules.

Paramètres
[in]p_timeLe temps écoulé depuis la dernière mise à jour.
[in]p_totalLe temps total écoulé.
Renvoie
Le nombre de particules.

Implémenté dans Castor3D::ComputeParticleSystem, et Castor3D::TransformFeedbackParticleSystem.

Documentation des données membres

◆ m_parent

ParticleSystem& Castor3D::ParticleSystemImpl::m_parent
protected

Le système de particules parent.

Référencé par GetParent().

◆ m_type

Type Castor3D::ParticleSystemImpl::m_type
protected

Le type d'implémentation.

Référencé par GetType().


La documentation de cette classe a été générée à partir du fichier suivant :