Castor3D
0.11.0
Multiplatform 3D engine
|
Fonctions membres publiques | |
C3D_API | ParticleSystem (castor::String const &name, Scene &scene, SceneNode &parent, uint32_t count) |
Constructeur. Plus de détails... | |
C3D_API | ~ParticleSystem () |
Destructeur. Plus de détails... | |
C3D_API bool | initialise (RenderDevice const &device) |
Initialise les elements GPU. Plus de détails... | |
C3D_API void | cleanup (RenderDevice const &device) |
Nettoie les elements GPU. Plus de détails... | |
C3D_API void | update (CpuUpdater &updater) |
Mise à jour CPU. Plus de détails... | |
C3D_API void | update (GpuUpdater &updater) |
Mise à jour GPU. Plus de détails... | |
C3D_API void | setMaterial (MaterialSPtr value) |
Definit le materiau. Plus de détails... | |
C3D_API void | setDimensions (castor::Point2f const &value) |
Definit les dimensions des particules. Plus de détails... | |
C3D_API void | setParticleType (castor::String const &value) |
Definit le nom du type de particules. Plus de détails... | |
C3D_API MaterialSPtr | getMaterial () const |
C3D_API castor::Point2f const & | getDimensions () const |
C3D_API void | addParticleVariable (castor::String const &name, ParticleFormat type, castor::String const &defaultValue) |
Ajoute une variable de particule. Plus de détails... | |
C3D_API void | setCSUpdateProgram (ShaderProgramSPtr program) |
Définit le programme utilisé pour mettre à jour les particules via un compute shader. Plus de détails... | |
C3D_API void | setCSGroupSizes (castor::Point3i sizes) |
Définit les dimensions des groupes de travail, tels que définis dans le compute shader. Plus de détails... | |
C3D_API uint32_t | getParticlesCount () const |
C3D_API uint32_t | getMaxParticlesCount () const |
BillboardBaseSPtr | getBillboards () const |
castor::StrStrMap const & | getDefaultValues () const |
castor::String const & | getParticleType () const |
ParticleDeclaration const & | getParticleVariables () const |
ComputeParticleSystem const & | getCompute () const |
Fonctions membres publiques hérités de castor3d::MovableObject | |
C3D_API | MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node) |
Constructeur. Plus de détails... | |
C3D_API | MovableObject (castor::String const &name, Scene &scene, MovableType type) |
Constructeur. Plus de détails... | |
virtual C3D_API | ~MovableObject () |
Destructeur. Plus de détails... | |
C3D_API void | detach () |
Détache l'objet de son parent. Plus de détails... | |
virtual C3D_API void | attachTo (SceneNode &node) |
Attache l'object à un noeud. Plus de détails... | |
SceneNode * | getParent () const |
Récupère le noeud parent. Plus de détails... | |
MovableType | getType () const |
Récupère le type d'objet. Plus de détails... | |
Scene * | getScene () const |
Fonctions membres publiques hérités de castor3d::AnimableT< AnimableHanlerT > | |
void | cleanupAnimations () |
Vid ela map d'animations. Plus de détails... | |
bool | hasAnimation (castor::String const &name) const |
Récupère une animation. Plus de détails... | |
Animation const & | getAnimation (castor::String const &name) const |
Récupère une animation. Plus de détails... | |
Animation & | getAnimation (castor::String const &name) |
Récupère une animation. Plus de détails... | |
void | addAnimation (AnimationPtr animation) |
Ajoute une animation. Plus de détails... | |
AnimationPtrStrMap const & | getAnimations () const |
Attributs protégés | |
castor::String | m_particleType |
castor::StrStrMap | m_defaultValues |
ParticleDeclaration | m_inputs |
BillboardBaseSPtr | m_particlesBillboard |
castor::Point2f | m_dimensions |
MaterialWPtr | m_material |
uint32_t | m_particlesCount { 0u } |
uint32_t | m_activeParticlesCount { 0u } |
castor::PreciseTimer | m_timer |
bool | m_firstUpdate { true } |
castor::Milliseconds | m_totalTime { 0 } |
CpuParticleSystemUPtr | m_cpuImpl |
ComputeParticleSystemUPtr | m_csImpl |
ParticleSystemImpl * | m_impl { nullptr } |
Attributs protégés hérités de castor3d::MovableObject | |
Scene * | m_scene |
MovableType | m_type |
castor::String | m_strNodeName |
SceneNode * | m_sceneNode |
OnSceneNodeChangedConnection | m_notifyIndex |
Attributs protégés hérités de castor3d::AnimableT< AnimableHanlerT > | |
AnimationPtrStrMap | m_animations |
Membres hérités additionnels | |
Types protégés hérités de castor3d::AnimableT< AnimableHanlerT > | |
using | Animation = AnimationT< AnimableHanlerT > |
using | AnimationPtr = std::unique_ptr< Animation > |
using | AnimationPtrStrMap = std::map< castor::String, AnimationPtr > |
Fonctions membres protégées hérités de castor3d::AnimableT< AnimableHanlerT > | |
void | doRemoveAnimation (castor::String const &name) |
Enlève une animation. Plus de détails... | |
template<typename AnimationType > | |
AnimationType & | doGetAnimation (castor::String const &name) |
Récupère une animation. Plus de détails... | |
AnimableT (AnimableHanlerT &owner) | |
virtual C3D_API | ~AnimableT ()=default |
C3D_API | AnimableT (AnimableT &&rhs)=default |
C3D_API AnimableT & | operator= (AnimableT &&rhs)=delete |
C3D_API | AnimableT (AnimableT const &rhs)=delete |
C3D_API AnimableT & | operator= (AnimableT const &rhs)=delete |
C3D_API castor3d::ParticleSystem::ParticleSystem | ( | castor::String const & | name, |
Scene & | scene, | ||
SceneNode & | parent, | ||
uint32_t | count | ||
) |
Constructeur.
[in] | name | Le nom. |
[in] | scene | La scene parente. |
[in] | parent | Le noeud de scène parent. |
[in] | count | Le nombre de particules. |
C3D_API castor3d::ParticleSystem::~ParticleSystem | ( | ) |
Destructeur.
C3D_API void castor3d::ParticleSystem::addParticleVariable | ( | castor::String const & | name, |
ParticleFormat | type, | ||
castor::String const & | defaultValue | ||
) |
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. |
C3D_API void castor3d::ParticleSystem::cleanup | ( | RenderDevice const & | device | ) |
Nettoie les elements GPU.
[in] | device | Le device GPU. |
|
inline |
Références m_particlesBillboard.
|
inline |
Références m_csImpl.
|
inline |
Références m_defaultValues.
C3D_API castor::Point2f const& castor3d::ParticleSystem::getDimensions | ( | ) | const |
C3D_API MaterialSPtr castor3d::ParticleSystem::getMaterial | ( | ) | const |
|
inline |
Références m_particlesCount.
|
inline |
Références m_activeParticlesCount.
|
inline |
Références m_particleType.
|
inline |
Références m_inputs.
C3D_API bool castor3d::ParticleSystem::initialise | ( | RenderDevice const & | device | ) |
Initialise les elements GPU.
[in] | device | Le device GPU. |
true
si tout s'est bien passe. C3D_API void castor3d::ParticleSystem::setCSGroupSizes | ( | castor::Point3i | sizes | ) |
Définit les dimensions des groupes de travail, tels que définis dans le compute shader.
[in] | sizes | Les dimensions. |
C3D_API void castor3d::ParticleSystem::setCSUpdateProgram | ( | ShaderProgramSPtr | program | ) |
Définit le programme utilisé pour mettre à jour les particules via un compute shader.
[in] | program | Le programme. |
C3D_API void castor3d::ParticleSystem::setDimensions | ( | castor::Point2f const & | value | ) |
Definit les dimensions des particules.
[in] | value | La nouvelle valeur. |
C3D_API void castor3d::ParticleSystem::setMaterial | ( | MaterialSPtr | value | ) |
Definit le materiau.
[in] | value | La nouvelle valeur |
C3D_API void castor3d::ParticleSystem::setParticleType | ( | castor::String const & | value | ) |
Definit le nom du type de particules.
[in] | value | La nouvelle valeur. |
C3D_API void castor3d::ParticleSystem::update | ( | CpuUpdater & | updater | ) |
Mise à jour CPU.
[in,out] | updater | Les données d'update. |
C3D_API void castor3d::ParticleSystem::update | ( | GpuUpdater & | updater | ) |
Mise à jour GPU.
[in,out] | updater | Les données d'update. |
|
protected |
Le nombre de particules actives.
Référencé par getParticlesCount().
|
protected |
L'implémentation CPU.
|
protected |
L'implémentation utilisant un compute shader.
Référencé par getCompute().
|
protected |
La map de valeur par défaut pour les variables.
Référencé par getDefaultValues().
|
protected |
Les dimensions des billboards.
|
protected |
Dit que la prochaine mise à jour est la première.
|
protected |
L'implémentation choisie après initialisation.
|
protected |
La description des élément d'une particule.
Référencé par getParticleVariables().
|
protected |
Le Material.
|
protected |
Les billboards contenant les particules.
Référencé par getBillboards().
|
protected |
Le nombre de particules.
Référencé par getMaxParticlesCount().
|
protected |
Le nom du type de particules.
Référencé par getParticleType().
|
protected |
Le timer, pour la mise à jour des particules.
|
protected |
Le temps total écoulé.