Castor3D 0.16.0
Multiplatform 3D engine
|
#include <ParticleSystemImpl.hpp>
Types publics | |
enum class | Type { eCpu = 0 , eComputeShader = 1 , eCount , eMin = eCpu } |
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. | |
virtual C3D_API | ~ParticleSystemImpl () noexcept=default |
Destructeur. | |
virtual C3D_API bool | initialise (RenderDevice const &device)=0 |
Initialise l'implémentation. | |
virtual C3D_API void | cleanup (RenderDevice const &device)=0 |
Nettoie l'implémentation. | |
virtual C3D_API void | addParticleVariable (castor::String const &name, ParticleFormat type, castor::String const &defaultValue)=0 |
Ajoute une variable de particule. | |
virtual C3D_API void | update (CpuUpdater &updater)=0 |
Met à jour la passe de rendu, au niveau CPU. | |
virtual C3D_API uint32_t | update (GpuUpdater &updater)=0 |
Met à jour la passe de rendu, au niveau GPU. | |
Type | getType () |
ParticleSystem const & | getParent () const |
Attributs protégés | |
ParticleSystem & | m_parent |
Type | m_type |
|
strong |
C3D_API castor3d::ParticleSystemImpl::ParticleSystemImpl | ( | Type | type, |
ParticleSystem & | parent ) |
Constructeur.
[in] | type | Le type d'implémentation. |
[in] | parent | Le système de particules parent. |
|
virtualdefaultnoexcept |
Destructeur.
|
pure virtual |
Ajoute une variable de particule.
[in] | name | Le nom de la variable. |
[in] | type | Le type de la variable. |
[in] | defaultValue | La valeur par défaut de la variable. |
Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.
|
pure virtual |
Nettoie l'implémentation.
device | Le device actuel. |
Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.
|
inline |
Références m_parent.
|
inline |
Références m_type.
|
pure virtual |
Initialise l'implémentation.
device | Le device actuel. |
true
si tout s'est bien passé. Implémenté dans castor3d::ComputeParticleSystem, et castor3d::CpuParticleSystem.
|
pure virtual |
Met à jour la passe de rendu, au niveau CPU.
[in,out] | updater | Les données d'update. |
Implémenté dans castor3d::CpuParticleSystem, et castor3d::ComputeParticleSystem.
|
pure virtual |
Met à jour la passe de rendu, au niveau GPU.
[in,out] | updater | Les données d'update. |
Implémenté dans castor3d::CpuParticleSystem, et castor3d::ComputeParticleSystem.
|
protected |
Le système de particules parent.
Référencé par getParent().
|
protected |
Le type d'implémentation.
Référencé par getType().