Castor3D 0.13.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::ParticleSystemImplabstract

#include <ParticleSystemImpl.hpp>

Graphe d'héritage de castor3d::ParticleSystemImpl:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::ParticleSystemImpl:
Collaboration graph
[légende]

Types publics

enum class  Type {
  eCpu , eTransformFeedback , eComputeShader , eCount ,
  eMin = eCpu , eMax =eCount-1
}
 Enumération des types d'implémentation de système de particules. Plus de détails...
 

Fonctions membres publiques

C3D_API ParticleSystemImpl (Type type, ParticleSystem &parent)
 Constructeur. Plus de détails...
 
virtual C3D_API ~ParticleSystemImpl ()
 Destructeur. Plus de détails...
 
virtual C3D_API bool initialise (RenderDevice const &device)=0
 Initialise l'implémentation. Plus de détails...
 
virtual C3D_API void cleanup (RenderDevice const &device)=0
 Nettoie l'implémentation. Plus de détails...
 
virtual C3D_API void addParticleVariable (castor::String const &name, ParticleFormat type, castor::String const &defaultValue)=0
 Ajoute une variable de particule. Plus de détails...
 
virtual C3D_API void update (CpuUpdater &updater)=0
 Met à jour la passe de rendu, au niveau CPU. Plus de détails...
 
virtual C3D_API uint32_t update (GpuUpdater &updater)=0
 Met à jour la passe de rendu, au niveau GPU. Plus de détails...
 
Type getType ()
 
ParticleSystem const & getParent () const
 

Attributs protégés

ParticleSystemm_parent
 
Type m_type
 

Documentation des énumérations membres

◆ Type

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

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.

eCount 
eMin 
eMax 

Documentation des constructeurs et destructeur

◆ ParticleSystemImpl()

C3D_API castor3d::ParticleSystemImpl::ParticleSystemImpl ( Type  type,
ParticleSystem parent 
)

Constructeur.

Paramètres
[in]typeLe type d'implémentation.
[in]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 &  name,
ParticleFormat  type,
castor::String const &  defaultValue 
)
pure virtual

Ajoute une variable de particule.

Paramètres
[in]nameLe nom de la variable.
[in]typeLe type de la variable.
[in]defaultValueLa valeur par défaut de la variable.

Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.

◆ cleanup()

virtual C3D_API void castor3d::ParticleSystemImpl::cleanup ( RenderDevice const &  device)
pure virtual

Nettoie l'implémentation.

Paramètres
deviceLe device actuel.

Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.

◆ 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 ( RenderDevice const &  device)
pure virtual

Initialise l'implémentation.

Paramètres
deviceLe device actuel.
Renvoie
true si tout s'est bien passé.

Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.

◆ update() [1/2]

virtual C3D_API void castor3d::ParticleSystemImpl::update ( CpuUpdater updater)
pure virtual

Met à jour la passe de rendu, au niveau CPU.

Paramètres
[in,out]updaterLes données d'update.

Implémenté dans castor3d::CpuParticleSystem, et castor3d::ComputeParticleSystem.

◆ update() [2/2]

virtual C3D_API uint32_t castor3d::ParticleSystemImpl::update ( GpuUpdater updater)
pure virtual

Met à jour la passe de rendu, au niveau GPU.

Paramètres
[in,out]updaterLes données d'update.

Implémenté dans castor3d::CpuParticleSystem, et castor3d::ComputeParticleSystem.

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 :